1

我使用 codeigniter,需要在位于 blabla.com/blog 的博客页脚处显示最后 3 篇文章。

当我创建如下 test.php 文件时。它运作良好,


测试.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>

但是当我将相同的代码复制到 codeigniter structre 的 footer_view.php 时,它不起作用并给出如下错误:

codeigniter footer_view 处的错误:

致命错误:在第 268 行的 /blabla/blog/wp-settings.php 中调用未定义的方法 stdClass::set_prefix()

知道可能是什么问题吗?:/感谢帮助!

4

2 回答 2

3

我使用了 3 个技巧将 WordPress 内容导入 CodeIgniter:

  1. 通过 XMLHttpRequest 从自定义 WP 模板中提取(跳过页眉/页脚/侧边栏)。我喜欢这种方法,因为它高度解耦,并且可以快速加载页面。
  2. 通过 CURL 或get_file*. 这类似于使用 XMLHttpRequests,但在服务器端。
  3. 将 WP 包装在库中。这是更多的工作,但本质是从 CI 库中调用核心 WP 对象。去年我对这种方法进行了原型设计,但发现#1 表现更好(它允许我稍后将内容移动到另一台服务器)。

请注意,您也可以对页面进行 IFrame,但考虑到 #1 和 #2,IFrames 似乎有点骇人听闻。

于 2009-11-08T21:24:17.610 回答
2

您是否考虑过使用 wordpress 的 RSS 提要通过 codeigniter 显示博客文章?这将是一个更灵活的解决方案。

于 2009-11-06T23:07:42.043 回答