为什么相同的代码在category.php和page.php中的行为方式不同,如何规避?

时间:2017-12-26 07:38:20

标签: php wordpress

请告诉我如何解决问题。 我在一个单独的类别帖子中发帖,其中得分超过100个。但是,如果我把它放在category.php中,那么最后的20-30个帖子会被剪切而不会输出。如果将相同的代码复制到page.php中,则会显示所有内容。显然,该类别的内置行为阻碍了。我怎样才能解决这个问题? 后输出代码较低。

<?php get_template_part('header/header', 'header'); ?>
<?php
$pagedCat = (get_query_var('paged')) ? get_query_var('paged') : 1;
$argsForLast = array(
'orderby'     => 'date',
'posts_per_page' => -1,
'meta_query' => array(
        'count_views' => array(
            'key'     => 'post_views_count',
            'value'   => '100',
            'compare' => '>=',
            'type' => 'NUMERIC'
        ),
    ),
$argsAllPosts = get_posts($argsForLast);
$argsMain = new WP_Query(array(
    'posts_per_page' => 1,
    'meta_query' => array(
        'count_views' => array(
            'key'     => 'post_views_count',
            'value'   => '100',
            'compare' => '>=',
            'type' => 'NUMERIC'
        ),
    ),
));



$lastPostId = $argsAllPosts[0]->ID;


$argsOther = new WP_Query(array(
    'paged' => $pagedCat,
    'post_type' =>  'post',
    'meta_query' => array(
        'count_views' => array(
            'key'     => 'post_views_count',
            'value'   => '110',
            'compare' => '>=',
            'type' => 'NUMERIC'
        ),
    ),
    'orderby' => 'date',
    'order' => 'DESC',
    'post__not_in' => array($lastPostId)
));
$temp = $wp_query;
$wp_query= null;
$wp_query = $argsOther;
?>

搜索和输出帖子

 <?php if ( $argsOther -> have_posts() ) :?>
   <section class="other-posts-wrap scroll-wrap">
   <?php 
    while ( $argsOther -> have_posts() ) : $argsOther -> the_post();
  ?>

1 个答案:

答案 0 :(得分:0)

您应该在执行另一个查询之前重置数据

wp_reset_postdata();

OR

wp_reset_query();