posts_per_page => 0列出了wordpress中特定类别的所有帖子

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

我正在使用wordpress网页,我想在其中显示特定类别的零帖子。以下是代码:

<?PHP
   $temp_args = [
       'post_type' => array('current-channel', 'post', 'current-episodes'),
       'post_status' => 'publish',
       'orderby' => array(
           'feat_yes' => 'ASC',
           'post_type' => 'ASC',
           'date' => 'DESC'),
       'posts_per_page' => $data->{"no_articles_".ICL_LANGUAGE_CODE},     // Line A
       'tax_query' => [
           [
               'taxonomy' => 'category',
               'field' => 'term_id',
               'terms' => $cat_today,
           ],
       ],

   ];
   echo '<pre>'; print_r($temp_args); echo '</pre>';
   $q = new WP_Query($temp_args);
   echo "Have posts: ";
   echo '<pre>'; print_r($q->have_posts()); echo '</pre>';
   if ($q->have_posts()) {
       while ($q->have_posts()) {
           $q->the_post();
           $post_type = strtolower(get_post_type());
           switch ($post_type) {
               case 'current-episodes':
                   get_template_part('template-parts/content-search', 'video');
                   break;
               case 'current-channel':
                   if (get_post_meta($post->ID, "current_portal_end_date_timestamp", true) > time()) {
                       echo "Hello World";
                       get_template_part('template-parts/content-search', 'channel');

                   }
                   break;
               case 'post':
                   get_template_part('template-parts/content', 'search');
                   break;
           }

       }
       wp_reset_postdata();
   }
   ?>

我添加了行号A以控制特定类别的帖子数量。当'posts_per_page' => 0的值然后它显示该特定特定类别的所有帖子列表,我不知道为什么。

问题陈述:

我想知道我应该在上面的PHP代码中做什么更改,当'posts_per_page' => 0然后它应该显示零帖子。

php wordpress
1个回答
1
投票
<?PHP
   if( $data->{"no_articles_".ICL_LANGUAGE_CODE} >= 1 ) {
     $temp_args = [
         'post_type' => array('current-channel', 'post', 'current-episodes'),
         'post_status' => 'publish',
         'orderby' => array(
             'feat_yes' => 'ASC',
             'post_type' => 'ASC',
             'date' => 'DESC'),
         'posts_per_page' => $data->{"no_articles_".ICL_LANGUAGE_CODE},     // Line A
         'tax_query' => [
             [
                 'taxonomy' => 'category',
                 'field' => 'term_id',
                 'terms' => $cat_today,
             ],
         ],

     ];
     echo '<pre>'; print_r($temp_args); echo '</pre>';
     $q = new WP_Query($temp_args);
     echo "Have posts: ";
     echo '<pre>'; print_r($q->have_posts()); echo '</pre>';
     if ($q->have_posts()) {
         while ($q->have_posts()) {
             $q->the_post();
             $post_type = strtolower(get_post_type());
             switch ($post_type) {
                 case 'current-episodes':
                     get_template_part('template-parts/content-search', 'video');
                     break;
                 case 'current-channel':
                     if (get_post_meta($post->ID, "current_portal_end_date_timestamp", true) > time()) {
                         echo "Hello World";
                         get_template_part('template-parts/content-search', 'channel');

                     }
                     break;
                 case 'post':
                     get_template_part('template-parts/content', 'search');
                     break;
             }

         }
         wp_reset_postdata();
     }
   }
   ?>
© www.soinside.com 2019 - 2024. All rights reserved.