Wordpress wp_query 自定义帖子类型查询在第二页上不起作用

问题描述 投票:0回答:1

使用下面的代码,我列出了自定义帖子类型下的所有帖子people

<?php $loop = new WP_Query(array('post_type' => 'people', 'order' => 'ASC', 'orderby' => 'meta_value',  'meta_key' => 'wpcf-people-sort-order','posts_per_page' => 4, 'paged' => get_query_var('paged') ? get_query_var('paged') : 1 )
                ); ?>
<div>Title: <?PHP the_title(); ?></div>
<div>Description: <?php echo esc_html( get_post_meta( $postid, 'wpcf-people-desscription', true ) ); ?> </div>
<?php endwhile; ?> 

下面是我的分页,

<div class="cus-pagi">
                    <?php
                    $big = 999999999; // need an unlikely integer
                     echo paginate_links( array(
                        'base' => str_replace( $big, '%#%', get_pagenum_link( $big ) ),
                        'format' => '?paged=%#%',
                        'current' => max( 1, get_query_var('paged') ),
                        'total' => $loop->max_num_pages
                    ) );
                    ?>
                </div>

我还使用上面的代码创建了一个插件来在侧边栏中显示标题列表。因此,每当我访问 mysite.com/people 时,我的自定义查询(即带有分页的自定义帖子列表和帖子标题的侧边栏列表)都工作正常。

如果我转到第二页,侧边栏显示为空。

有人知道我哪里出错了吗?

php wordpress custom-post-type conflict
1个回答
0
投票

您需要将循环与您的自定义查询一起使用:

<?php 
$loop = new WP_Query(
  array(
    'post_type' => 'people', 
    'order' => 'ASC', 
    'orderby' => 'meta_value',  
    'meta_key' => 'wpcf-people-sort-order',
    'posts_per_page' => 4, 
    'paged' => get_query_var('paged') ? get_query_var('paged') : 1 )
  ); 
if ($loop->have_posts()) : while ($loop->have_posts()) : $loop->the_post();
?>
<div>Title: <?PHP the_title(); ?></div>
<div>Description: <?php echo esc_html( get_post_meta( $postid, 'wpcf-people-desscription', true ) ); ?> </div>
<?php endwhile; endif; wp_reset_postdata(); ?> 
© www.soinside.com 2019 - 2024. All rights reserved.