require_once './wordpress/wp-blog-header.php';
add_filter('site_url', 'ci_site_url', 1);
function ci_site_url($uri = '') {
$CI =& get_instance();
$uri = ltrim(str_replace($CI->config->base_url('wordpress/'), '', $uri),'/'); // "wordpress/" is in my case the name of the directory where I installed Wordpress. See directory structure above.
return $CI->config->site_url($uri);
}
/* Folder structure like
Public_html/ WordPress
Public_html/Codeigniter /*
//Call WordPress wp_load file inside CodeIgniter in this way
// Add this code into Public_html/Codeigniter/Public/index.php
$mypath = $_SERVER['DOCUMENT_ROOT'].'/wp-load.php';
include_once($mypath);
// Call header and Footer in to view page
// Add this code into Public_html/Codeigniter/App/Views/welcome_message.php
<?php get_header(); ?>
<body>
<h3>
It works!</h3>
</body>
</html>
<?php get_footer(); ?>
6条答案
按热度按时间wz3gfoph1#
第一步是将CodeIgniter和WordPress文件移动到它们自己的目录中。
然后,把下面这行代码放在CodeIgniter的
index.php
文件的顶部,根据需要将路径改为wp-blog-header.php
,指向WordPress的根目录。然后,您可以在视图中使用以下函数:
在WordPress的文档中也可以找到其他帮助函数,它们可以帮助您集成设计。
6ss1mwsb2#
当我在Codeigniter的index.php页面中包含wp-blog-header.php文件时,我遇到了一个问题,即site_url()在codeigniter的URL助手和WordPress中都有定义。
最后一行需要添加WordPress文件添加一个HTTP响应标头'HTTP/1.0 404页面未找到'到标头。
现在可以使用WordPress函数调用CodeIgntier了。
8hhllhi23#
这是在你的codeigniter项目中使用WordPress模板的另一种方法。这对我来说更好用,所以我想分享它。用WordPress 3.3.1和Codeigniter 2.1测试。
目录结构:
/ci/index.php(配置项索引文件的顶部)
通过覆盖默认的codeigniter版本来处理site_url函数冲突,你需要将codeigniter中使用
site_url()
的地方改为使用ci_site_url()
。/ci/application/helpers/MY_url_helper.php
现在,您可以使用WordPress
get_header()
和/或get_footer()
函数在CI项目中绘制模板。8tntrjer4#
我正在使用WordPress管理一个自定义CI电子商务网站中的文章。CI是我的主站点。目录结构如下:
我可以在CI控制器中使用Wordpress函数,而不会在CI的index.php顶部添加以下代码时弄乱URL:
在使用Jérôme Jaglale的CI i18n库(http://jeromejaglale.com/doc/php/codeigniter_i18n)时也可以使用。
8yoxcaq75#
如果您计划在代码中使用代码点火器site_url函数,或者如果您正在合并现有CI站点和WP...这可能会有所帮助:
在CI索引的顶部。php:
这实际上允许您在CI中使用site_url,因此如果您已经向项目添加了大量链接和内容,那么它可能会对您有所帮助。
chhkpiq46#
在WordPress 6.1版本和Codeigniter - 4