So, While waiting for the much anticipate Expression Engine, we had to have a non-custom solution to a client friendly CMS. It turns out its actually really easy to make wordpress and codeigniter play in the same sandbox together – with almost no configuration.
Basically what you do is install wordpress and get it running on its own, then dump in your ci setup, replacing the wordpress index file with your codeigniter one.
Next, modify the index.php (Codeigniter bootstrapper) and require in the wp-load.php file (wordpresses bootstrapper)
/*
|--------------------------------------
| LOAD THE FRONT CONTROLLER
|--------------------------------------
|
| And away we go...
|
*/
require_once 'wp-load.php';
require_once BASEPATH.'codeigniter/CodeIgniter'.EXT;
/* End of file index.php */
/* Location: ./index.php */
This is pretty much it.. the only other thing you need to do is to use the wp_head() to pull in all the css/js that are required from any modules.
Because all of wordpress is run from the global space with functions (as apposed to a main class like CI) all the functions are available to you in your templates and views in ci..
Now, you have a wp-admin with all your content and your client access powering content for a 100% CI front end.
What we are doing (thanks Easily Amused for the idea) is building categories for each area (like a weblog in EE) and letting our customer add posts and add them to that category to go on that page… Like a homepage cateory, the latest post gets pulled in
The following code is in my view! (sorry about the crappy formatting, this site is wordpress and it freaks out when putting wp code into posts…
—
Homepage Only Feed
query_posts('numberposts=1&cat=3');
while ( have_posts() ) : the_post()
Updated
Flickr Feed Plugin
There is a lot more to be done, next step i will be working on is a CI library that uses the WP users/auth, so it can be portable, as well as some kind of module in WP that has easy access to CI Models & Controllers like doing an AJAX call or AMF Call