用AJAX加载下一个WordPress帖子?

时间:2012-01-16 作者:fxfuture

我发现了一个很棒的插件,它可以用Ajax加载下一篇文章。

http://www.problogdesign.com/wordpress/load-next-wordpress-posts-with-ajax

但是,它不适用于自定义帖子类型。

代码看起来相当简单。知道如何编辑代码以使用自定义帖子类型吗?

谢谢

3 个回复
最合适的回答,由SO网友:EAMann 整理而成

原则上,您可以将其用于任何存档页面。它所做的就是获取下一页的结果并显示数据。

它不能与CPT一起工作的原因是PHP脚本排队的方式—使用!is_singular() 滤器

插件的核心是JavaScript。即本节:

$(\'.pbd-alp-placeholder-\' + pageNum).load(nextLink + \' .post\',
    function() {
您正在将“下一篇文章”页面的HTML内容加载到占位符元素中。jQuery将获取页面,只选择具有“post”类的部分(即+ \' .post\' 零件)。

您没有进行任何自定义查询或查找,只是使用WordPress默认为您生成的链接(next_posts() 创建指向下一页结果的链接)。

因此,要使CPT发挥作用,您需要做两件事:

确保为自定义帖子类型存档页面触发了脚本

SO网友:Pepelu

我不知道是否有人仍在寻求解决这个问题,但我就是这样做的:

在“load posts.js”中,有一行:

$(\'.pbd-alp-placeholder-\'+ pageNum).load(nextLink + \' .post\',
这将查找类“.post”以加载更多内容。自定义帖子类型没有此类。因此,只需将这一行更改为:

$(\'.pbd-alp-placeholder-\'+ pageNum).load(nextLink + \' .status-publish\',
它将在任何地方都有效。我希望这对某人有所帮助,我与这个问题斗争了将近一周,直到找到了解决方案:)

SO网友:Kevin

在中找到此comments:

以下内容将为您指明正确的方向:将自定义帖子类型添加到$wp_query 通过添加以下内容:

$args = array(
    \'post_type\' => \'post-type\'
}
以及:$query = new WP_Query($args); 在上面$max = $wp_query->max_num_pages;

从那以后,你几乎可以按照你喜欢的方式进行定制,甚至可以集成你的主题选项(如果你有)!

(我重命名为$wp_query$query 顺便说一下,不确定这是否真的有必要)

结束

相关推荐

数据库中的wp_5_posts表是什么?

我想知道wp_2_*, wp_3_*, wp_4_*, 和wp_5_* 表位于数据库中。有人知道他们是什么吗?在我的示例中,其中一些来自插件,但是wp_# 前缀表示什么?为什么有些核心数据库表会有重复的数据?mysql> show tables; +-----------------------------+ | Tables_in_example | +-----------------------------+ | wp_2_commentme