【发布时间】:2014-06-17 04:39:34
【问题描述】:
我正在尝试让我的主页 (home.php) 显示来自自定义帖子类型的一些帖子缩略图,并对所有这些内容进行分页。
第一页可以正常使用,但是当我尝试进入第二页时它不起作用。
如果我将以下代码添加到我的functions.php中
function homepage_custom( $query )
{
if ($query->is_home() && $query->is_main_query())
{
$query->set('post_type', array( 'custom' ));
}
}
add_action( 'pre_get_posts', 'homepage_custom' );
我没有收到任何帖子。
在不检查主查询的情况下重试
function homepage_custom( $query )
{
if ($query->is_home())
{
$query->set('post_type', array( 'custom' ));
}
}
add_action( 'pre_get_posts', 'homepage_custom' );
我得到了第一个帖子(我在每页上显示 16 个)。当我转到第二页时,URL 显示“localhost/page/2”,但我看到了相同的 16 个帖子。将永久链接重置为默认值会得到相同的结果。
如果我尝试直接从 home.php 查询:
$paged = (get_query_var('paged')) ? get_query_var('paged') : 1;
query_posts(array("post_type" => "custom", "paged" => $paged));
我看到前 16 个,我在第 2 页得到 404。同样,重置永久链接会产生相同的结果。
- 我有 17 个使用这种自定义类型的帖子。
-
每页显示 16 个我得到 2 个页面看到相同的帖子,每页显示 5 个我得到 4 个页面看到相同的帖子。
echo get_query_var( 'paged' );
这每次都输出 0。
【问题讨论】:
标签: php wordpress pagination