有没有办法绕过一个定制模板上的分页功能?

时间:2020-05-17 作者:Nora McDougall-Collins

我在一个网站上工作,客户只需要一个页面上特定类别中所有帖子的链接标题。也就是说,查询不会从一个特定模板中提取设置中定义的较少数量的帖子。

如果我完全绕过循环,我可以这样做,但在正常循环中可能吗?

1 个回复
SO网友:WebElaine

最好的方法是使用pre_get_posts 过滤器,用于更改主查询。这样,您就不会运行默认查询,也不会在其上运行自定义查询。您必须确定“如果”条件,以便仅对要影响的查询运行:

<?php
function wpse_366882_get_all_posts($query) {
    // This will run for all main queries that are not in wp-admin.
    // You may want "is_archive()", "is_page(\'slug\')" or some other condition.
    if ( ! is_admin() && $query->is_main_query() ) {
    // Setting to -1 shows all.
        $query->set( \'posts_per_page\', -1 );
    }
}
add_action( \'pre_get_posts\', \'wpse_366882_get_all_posts\' );
?>
您可以将此代码放置在自定义插件、自定义主题或子主题的functions.php 文件

相关推荐

Question on templates

我正在使用一个名为Ocean WP的免费主题,它有一个名为“templates”的文件夹我想我可以只保存其中一个模板并重命名它,然后构建一个模板(我需要自定义帖子类型/高级自定义字段)。然而,当我尝试上述操作时,它抛出了一个错误。我的问题是-关于构建模板,我应该寻找什么。当然,构建模板最简单的方法就是复制页面。php并给它起一个新名称,但考虑到有一个名为“templates”的文件夹,这似乎是错误的方法谢谢你的指点