如何使用“待处理”帖子进行分页
Posted
技术标签:
【中文标题】如何使用“待处理”帖子进行分页【英文标题】:How to get pagination working with “Pending” Posts 【发布时间】:2012-06-29 22:27:36 【问题描述】:我正在开发一个允许用户在前端浏览待处理帖子/内容的网站。
但是,我似乎无法使用这些帖子进行分页。我有一个自定义查询,它会在类别页面、存档等上显示待处理帖子的第一页。
但是第 2、3 页等不起作用。
有什么想法吗?
谢谢!
这是我正在使用的示例代码:
$args = array(
'cat' => $cat_ID,
'paged' => get_query_var('paged'),
'showposts' => 50,
'posts_per_page' => 50,
'post_status' => 'pending',
);
query_posts($args);
if( have_posts() ) : while (have_posts()) : the_post();
//Post code inserted here
<?php endwhile; ?>
<?php endif; ?>
【问题讨论】:
这是页面模板的一部分?此外,while
之前的 if
也不需要,并且可能会打乱您的迭代周期
根据scribu.net/wordpress/wp-pagenavi/…,您应该尝试使用“page”变量。如果您能澄清“不起作用”的含义,那就太好了。
您好,这实际上是一个修改后的分类页面。加载该页面时它工作正常,但 /category/page/2/ 不加载。我收到 404 错误页面。在这种情况下,基本上它没有找到“待定帖子”。 “page”与“paged”对我没有任何改变。
您的永久链接结构是什么?基本页面链接是什么样的(当您不指定页面时)?
当然。该页面是example.com/category/category-name。这将显示带有上述代码的待处理帖子。但是与 /page/2/ 及以上相同的链接将给出 404 错误。我将永久链接设置为 /%category%/%postname%/。但是,我不知道永久链接设置是否与此有关,因为“已发布”帖子工作正常并且会显示上面的代码。我认为 Wordpress 只是设置为仅处理分页页面上已发布的帖子。我正在尝试解决这个问题。
【参考方案1】:
如果主查询中没有足够的结果运行到该页面,WordPress 分页将 404。
我确信有更好的方法,但我能想到的唯一方法是在帖子数量多于草稿的存档/搜索页面中使用自定义循环。
例如,将您的自定义循环添加到 search.php 模板并通过传递会生成大量结果的搜索查询(例如“a”)到达它。使用 search.php 将在结果中包含页面、帖子和自定义帖子类型,因此会产生更多结果。
使用 paginate_links 进行分页,它将继续在每个页面上传递 queryvar,之后你应该会很好。
另外,我建议使用 WP_Query 而不是 query_posts。 See here for why.
【讨论】:
是的,目前确实没有答案,除了向 Wordpress 开发团队建议更改。你说的可能是我能找到的最好的选择。感谢您的帮助!以上是关于如何使用“待处理”帖子进行分页的主要内容,如果未能解决你的问题,请参考以下文章
如何在 GatsbyJS 中对属于特定类别的帖子列表进行分页
按类别过滤 Wordpress 帖子时对 GatsbyJS 页面进行分页