Wordpress Codeigniter集成:如何在CI上替换site_url?

时间:2013-11-12 04:08:18

标签: php wordpress codeigniter codeigniter-2

我对Wordpress和Codeigniter集成的URL有一些问题,因为我想避免WP和CI site_url之间的数据冲突。

这是关于CI的代码:
的config.php

$config['base_url'] = 'http://www.mydomain.com';

my_helper.php

add_filter('site_url', 'ci_site_url', 1);
function ci_site_url()
{
    include(APPPATH.'/config/config.php');
    return $config['base_url'];
}

当我使用

时,它工作正常并显示http://www.domain.com
<?php
echo site_url();
?>

当我使用site_url('admin / xxx')时,我想要http://www.domain.com/index.php/admin/xxx;

我一直在寻找答案,但我找不到,所以我要感谢任何帮助: - )

2 个答案:

答案 0 :(得分:2)

安装wordpress和codeigniter只是小菜一碟。你需要做以下事 我假设您需要在Codeigniter中使用wordpress,所以这是您可以做到的。

wordpress目录中的

创建一个名为myci的文件夹

wordpress/
         /myci

现在把codeigniter包放在myci中。接下来,您需要将此语句添加到index.php

myci/
    /system
    /application
    /index.php

require_once('../wp-load.php');

现在您需要像这样扩展site_urlbase_url

if (!function_exists('ci_site_url')) {
    function ci_site_url($uri = '')
    {
        $CI =& get_instance();
        return $CI->config->site_url($uri);
    }
}
if (!function_exists('ci_base_url')) {
    function ci_base_url($uri = '')
    {
        $CI =& get_instance();
        return $CI->config->base_url($uri);
    }
}

使用方法:

现在您可以像这样访问它。希望它有所帮助

http://www.domain.com/myci/index.php/controllername/method

注意index.php之前的文件夹名称

答案 1 :(得分:0)

@raheel shan 在哪里添加:

if (!function_exists('ci_site_url')) {
function ci_site_url($uri = '')
{
    $CI =& get_instance();
    return $CI->config->site_url($uri);
}
}
if (!function_exists('ci_base_url')) {
function ci_base_url($uri = '')
{
    $CI =& get_instance();
    return $CI->config->base_url($uri);
}
}