WordPressIgniter

License GPLv2

Author:Dan Hartman (profile at wordpress.org)
WordPress version required:3.3
WordPress version tested:3.9.40
Plugin version:1.4
Added to WordPress repository:25-09-2013
Last updated:01-05-2015
Warning! This plugin has not been updated in over 2 years. It may no longer be maintained or supported and may have compatibility issues when used with more recent versions of WordPress.
Rating, %:84
Rated by:5
Plugin URI:
Total downloads:4 632
Active installs:20+
plugin download
Click to start download

A WordPress plugin that integrates CodeIgniter

Why a CodeIgniter/Wordpress integration plugin?

  1. I (along with many others) like CodeIgniter for it’s features such as ActiveRecord and MVC disciplines, plus I have a ton of cool libs and stuff in CodeIgniter that I would like to use in the WordPress environment

  2. I’m getting tired of building custom user, login, and session management systems for CodeIgniter. WordPress has them already.

  3. I’m getting tired of building custom look and feel and templates for CodeIgniter, WordPress already is that, and has thousands of themes available.

  4. I’m getting tired of building custom feature X for CodeIgniter, when it may already exist in WordPress either natively or as a plugin.

Why did I create this plugin, even though some others already exist? Because I wanted to:

  1. easily integrate CodeIgniter without invading its core very much, or optionally, not at all.

  2. show CodeIgniter output in a page, preserving all WordPress menu structure, template structure etc.

  3. not require template editing, so that templates can be easily swapped out and the CodeIgniter itegration still work.

  4. allow customizing of the CodeIgniter APPPATH and BASEPATH variables, so that the system and application folders can be put somewhere outside the plugins folder (or docroot altogether for that matter)

  5. handle segmented urls in CodeIgniter fashion, including paths that aren’t valid in WordPress (i.e. via WordPress 404 hooks), and dispatch to appropriate CodeIgniter controller functions.

Tips

  • If your CodeIgniter controller sets the $this->content[‘page_title’], such as $this->content['page_title'] = 'Blast off!';
    then this plugin will set the template-rendered title to “Blast off!” via a WordPress API registered ‘the_title’ filter hook.
  • If you choose to tick the “CodeIgniter grabs all SEO urls” checkbox, beware that CodeIgniter will return its own 404 page (along
    with http header!) on any non-root urls, i.e. permalinks. This behaviour can be set within CodeIgniter by adjusting the routes.php
    file to point to a valid controller, like this: $route['404_override'] = 'welcome';

TODO

(I don’t know if these are even possible, or I might have already done them)

  • provide a way to make CodeIgniter automatically use WordPress’ database settings, from within the plugin (yes I know I could intrude CodeIgniter core to do this, but it’s what I wanted to avoid)
  • provide a mechanism to instantiate CodeIgniter only on the overridden page, rather than all frontend urls.

ChangeLog