Как объединить / интегрировать функции CodeIgniter и WordPress?

Мой сайт имеет особенность блога. Я должен сделать блог, который будет выглядеть так же, как и внешний вид моего веб-сайта.

Как объединить функциональные возможности блога CodeIgniter и WordPress (только), чтобы он выглядел на одном веб-сайте?

Я видел этот вопрос: шаблон WordPress с codeigniter . Но понятия не было.

Вы делаете это, вам нужно будет создать 2 файла и изменить 2 существующие функции. Одна функция находится в CodeIgniter, а другая – в WordPress.

Вот шаги.

1.) Откройте файл configs / hooks.php и создайте крюк pre_controller следующим образом:

$hook['pre_controller'] = array( 'class' => '', 'function' => 'wp_init', 'filename' => 'wordpress_helper.php', 'filepath' => APPPATH.DS.'helpers' ); 

2.) Создайте новый файл в вашем каталоге помощников с именем «wordpress_helper.php» и добавьте к нему следующий код:

 /** * */ function wp_init(){ $CI =& get_instance(); $do_blog = TRUE; // this can be a function call to determine whether to load CI or WP /* here we check whether to do the blog and also we make sure this is a front-end index call so it does not interfere with other CI modules. */ if($do_blog && ($CI->router->class == "index" && $CI->router->method == "index") ) { // these WordPress variables need to be globalized because this is a function here eh! global $post, $q_config, $wp; global $wp_rewrite, $wp_query, $wp_the_query; global $allowedentitynames; global $qs_openssl_functions_used; // this one is needed for qtranslate // this can be used to help run CI code within WordPress. define("CIWORDPRESSED", TRUE); require_once './wp-load.php'; define('WP_USE_THEMES', true); // Loads the WordPress Environment and Template require('./wp-blog-header.php'); // were done. No need to load any more CI stuff. die(); } } 

3.) Откройте файл wp-includes / link-template.php и внесите следующие изменения:

 if ( ! function_exists('site_url')) { function site_url( $path = '', $scheme = null ) { return get_site_url( null, $path, $scheme ); } } 

4.) Скопируйте url_helper.php из папки помощника CodeIgniter в папку помощника APPPATH и выполните следующие действия:

 if ( ! function_exists('site_url')) { function site_url($uri = '', $scheme = null) { // if we are in wordpress mode, do the wordpress thingy if(defined('CIWORDPRESSED') && CIWORDPRESSED){ return get_site_url( null, $path, $scheme ); }else{ $CI =& get_instance(); return $CI->config->site_url($uri); } } } 

Вышеупомянутые шаги позволят вам динамически загружать ваше приложение CI или ваш сайт WP на основе простой фильтрации. Он также дает вам доступ ко всем функциям CI в WP, которые вы можете использовать.

Кажется, это немного перебор.

Почему бы не использовать службу Restful, такую ​​как json_api, чтобы получить ваши сообщения, а затем скопировать файл css (части)?