Wordpress wp_query自定义帖子类型查询无法在第二页上运行

时间:2014-01-23 13:20:26

标签: wordpress conflict custom-post-type

使用以下代码我列出自定义帖子类型

下的所有帖子
<?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时,我的自定义查询的两者(即自定义帖子的分页和帖子标题的侧栏列表)都正常工作。

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

有谁知道我哪里出错了?

1 个答案:

答案 0 :(得分:0)

您需要在自定义查询中使用the Loop

<?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(); ?>