分页不适用于QUERY_POST()

时间:2017-08-21 作者:Dinesh

我试图将分页添加到我的WordPress网站,它在主索引页中运行良好,我试图为类别问题创建不同的主页,当单击分页URL的任何链接时,内容仍然相同,但索引页代码

<?php
if (have_posts()) :
    while (have_posts()) : the_post(); 

   /*  post code goes here */

     endwhile;


    the_posts_pagination( array(
    \'mid_size\' => 2,
    \'prev_text\' => __( \'Back\', \'textdomain\' ),
    \'next_text\' => __( \'Onward\', \'textdomain\' ),
) ); 

    else :
        echo \'<p>No content found</p>\';

    endif;?>
类别页面代码

<?php

query_posts(\'cat=5\');
if (have_posts()) :
    while (have_posts()) : the_post(); 

   /*  post code goes here */

     endwhile;


    the_posts_pagination( array(
    \'mid_size\' => 2,
    \'prev_text\' => __( \'Back\', \'textdomain\' ),
    \'next_text\' => __( \'Onward\', \'textdomain\' ),
) ); 

    else :
        echo \'<p>No content found</p>\';

    endif;?>
我也试过这个

<ul>
    <?php
    global $post;

    $myposts = get_posts( array(
        \'offset\'         => 1,
        \'category\'       => 5
    ) );

    if ( $myposts ) {
        foreach ( $myposts as $post ) : 
            setup_postdata( $post ); ?>
            <li><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></li>
        <?php
        endforeach;
        wp_reset_postdata();
    }

    the_posts_pagination( array(
    \'mid_size\' => 2,
    \'prev_text\' => __( \'Back\', \'textdomain\' ),
    \'next_text\' => __( \'Onward\', \'textdomain\' ),
) ); 
    ?>
</ul>
但只显示post,不显示分页

有人能帮忙吗提前谢谢你的帮助

1 个回复
SO网友:inarilo

the_posts_pagination 与全球$wp_query, 所以你的第二种方法行不通。

query_posts 修改主查询,但传递的参数将覆盖任何现有值,因此在设置cat=5. 但你可以preserve the existing values 通过修改全局查询字符串。

然而,更有效的方法是使用pre_get_posts 行动钩,例如:

function mysite_change_cat($query) {
  //if it is a category archive page and main query
  if ($query->is_category() && $query->is_main_query()) {
    $query->set(\'cat\', 5);
  }
}
add_action(\'pre_get_posts\', \'mysite_change_cat\');
但是,如果要为某些类别创建完全不同的页面,则可以简单地为每个类别创建模板文件named e.g. category-5.php.

结束

相关推荐

How to test pagination?

我一直在从无到有地构建一个主题,所以我在网上的每一个地方都能从无到有地写作,这教会了我如何实现分页,主要是展示如何将标准的Wordpress版本变成一种风格。我还了解到大约有3种不同的分页方式(上一页/下一页、归档页、分页符),我假设这些都需要不同的代码。目前,我已经成功实现了上一页/下一页:这是通过以下方式实现的:<div class=\"postnav six columns droided-box prev clearfix\"> <h2>Previous P