问题
I use codeigniter and need to display last 3 posts at footer from blog as blabla.com/blog located.
when I create a test.php file as below. it works well,
test.php
<?php
// Include Wordpress
define('WP_USE_THEMES', false);
require('./blog/wp-blog-header.php');
query_posts('showposts=3');
?>
<ul>
<?php while (have_posts()): the_post(); ?>
<li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
<?php endwhile; ?>
</ul>
but when I copy same code to footer_view.php of codeigniter structre, it doesnt work and giving error as below:
error at codeigniter footer_view:
Fatal error: Call to undefined method stdClass::set_prefix() in /blabla/blog/wp-settings.php on line 268
any idea what can be the problem? :/ appreciate helps!!
回答1:
I've used 3 tricks for getting WordPress content into CodeIgniter:
- Pull via XMLHttpRequest from a custom WP template (skip headers/footers/sidebars). I like this method as it is highly decoupled, and it makes for fast page loads.
- Pull via CURL or
get_file*
. This is similar to using XMLHttpRequests, but server side. - Wrap WP in a library. This is more work, but the essence is calling the core WP object from a CI library. I prototyped this method last year, but found that #1 performed better (and it allowed me to move the content to another server later).
Note, you could also IFrame the page, but IFrames seem a bit hackish given #1 and #2.
回答2:
Have you thought about using the RSS feed from wordpress to display the blog posts with codeigniter? It would be a more flexible solution.
来源:https://stackoverflow.com/questions/1686647/getting-posts-from-wordpress-to-out-of-wp-in-codeigniter-view