Загрузить экземпляр CodeIgniter в WordPress

Проблема с использованием WordPress заключалась в том, чтобы включить функциональность CodeIgniter в файлы темы WordPress. Например, есть верхний и нижний колонтитулы, которые я включаю во многие из файлов представления CodeIgniter. Тот же заголовок и нижний колонтитул также необходимо было включить в тему WordPress.

Идея состоит в том, чтобы загрузить экземпляр CI и использовать его в WordPress. Любая помощь будет оценена!

Я пробовал это.

https://github.com/falexandrou/Codeigniter-Wordpress-Integration

Правильный путь к загрузке загрузочного буфера CI. Его результатом была ошибка

Your system folder path does not appear to be set correctly. Please open the following file and correct this: index.php 

шаг сайтов:
1. Включите это в следующие файлы шаблонов вверху:

  - 404.php - index.php- archive.php- archives.php - links.php -page.php - search.php - single.php */ <?php $wp_ci['return'] = true; require('codeigniter.php'); 
  1. поместить файл codeigniter вдоль шаблона dir
    Предполагается загрузить экземпляр CI, чтобы он мог использоваться в WordPress.
    https://github.com/falexandrou/Codeigniter-Wordpress-Integration/blob/master/ci-wp-thedaylightstudio/codeigniter.php

CI index.php

  <?php $wp_did_header = true; require_once dirname( __FILE__ ) .'/blog/wp-blog-header.php'; define('WP_USE_THEMES', true); require_once BASEPATH.'core/CodeIgniter.php'; ?> 

ОБНОВИТЬ:

WP-блог заголовка

  if ( !isset($wp_did_header) ) { $wp_did_header = true; require_once( dirname(__FILE__) . '/wp-load.php' ); wp(); require_once( ABSPATH . WPINC . '/template-loader.php' ); } 

Я успешно загружаю представление codeigniter на wordpress, но вся моя функция ci_site_url возвращает website.com/blog/application когда он должен быть website.com/application Я помещаю этот код в одну из тем WP index.php

  define('STDIN', TRUE); $_SERVER['argv'] = array(); ob_start(); require('../index.php'); $GLOBALS['wp_ci_output'] = ob_get_contents(); ob_end_clean(); $GLOBALS['CI'] = get_instance(); require_once(APPPATH.'helpers/wordpress_helper.php'); 

Код ссылки:

http://thedaylightstudio.com/blog/2010/06/16/codeigniter-and-wordpress-integration

WordPress-helper.php

 /** * Print codeigniter view file in wordpress content * * @access public * @param string view file name * @param array array of variables to be rendered * @param boolean true to return, false to return * @return mixed */ function wp_ci_load_view($view, $vars = array(), $return = FALSE){ extract($vars); $file = APPPATH.'/views/'.$view.'.php'; $contents = file_get_contents($file); //echo $contents; $CI =& get_instance(); $check_funcs = array('ci_site_url(', '$this->'); $replace_funcs = array('site_url_wp_safe(', '$CI->'); $contents = str_replace($check_funcs, $replace_funcs, $contents); $contents = eval('?>'.preg_replace("/;*\s*\?>/", "; ?>", str_replace('<?=', '<?php echo ', $contents)).'<?php '); if ($return === TRUE){ return $contents; } } 

https://github.com/falexandrou/Codeigniter-Wordpress-Integration/blob/master/ci-wp-thedaylightstudio/wordpress_helper.php

Автор сказал, что проблема: Единственная проблема с этой версией заключается в том, что она всегда отображает одну и ту же страницу CI для получения объекта CI, и вы не можете манипулировать той страницей, которую она отображает. Благодарю.

MY_url_helper

function ci_site_url : чтобы различать CI site_url и функцию URL-адреса сайта WP

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

посмотрите, что я добавил ниже кода в моем вспомогательном файле codeigniter и добавил этот помощник в файл config / autoload.php, чтобы автоматически загрузить его.

 /** * return CI header to home page cms for */ if (!function_exists('ci_header')) { function ci_header() { $CI = & get_instance(); $header = $CI->load->view('includes/header.php', '', true); return $header; } } /** * return CI footer to home page cms for */ if (!function_exists('ci_footer')) { function ci_footer() { $CI = & get_instance(); $footer = $CI->load->view('includes/footer_homepage.php', '', true); return $footer; } } 

и введите ниже код в wordpress wp-content / themes / my_theme / header.php

 <?php echo ci_header(); ?> 

и введите ниже код в wordpress wp-content / themes / my_theme / footer.php

 <?php echo ci_footer(); ?> 

вы можете использовать любую вспомогательную функцию в wordpress theme templete непосредственно, поскольку я вызываю ci_header () и ci_footer ();

Идем дальше … и суммируем меня, что еще нужно сделать для вашего проекта …