2017-07-31 49 views
0

例如我有一个类别的帖子:cat1,cat2,cat3,我想排除cat1,只显示cat2或cat3中的一个。如何排除特定类别并仅显示get_the_category()中的一个;

<?php 
    $categories = get_the_category(); 
    $separator = ' '; 
    $output = ''; 
     if($categories){ 
     foreach($categories as $category) { 
     if($category->name !== 'Cat1'){ 
     $output .= $category->cat_name;} 
     } 
     echo trim($output, $separator); 
     } 
?> 

我试过这个循环,但它只适用于排除“Cat1”我也想显示一个类别get_the_category(); ?

有人可以帮助我吗?

+0

用逗号分隔值类别id参数,一旦你有你的类别(IES)排除类别,你可以retreive有'get_posts'的帖子(详情请参阅[此链接](https://codex.wordpress.org/Template_Tags/get_posts))。请注意,如果您需要多个类别,则宁愿将他们的'id'存储为其名称,用逗号隔开 – Kaddath

+0

如何决定这个'OR''只有一个来自cat2还是cat3。' ..任何随机会工作?在这种情况下,您可能会更改$ output。= $ category-> cat_name;到$ output = $ category-> cat_name;它将覆盖cat2,如果cat3存在,则用cat3覆盖。 – Mohsin

+0

猫2将罚款 – Mateo

回答

0

像这样的事情

foreach($categories as $category) { 
    if($category->name !== 'Cat1'){ 
    $output = $category->cat_name; 
    if($output != '') break; //end foreach when we have value 
} 
0

使用 “排除” 在WordPress

<?php 
    $cat_args = array(
     'type'   => 'post', 
     'parent'  => 0, 
     'orderby'  => 'name', 
     'order'   => 'ASC', 
     'hide_empty' => 0, 
     'hierarchical' => true, 
     'exclude'  => '1,2,3', 
     'include'  => '', 
     'number'  => '', 
     'taxonomy'  => 'category', 
     'pad_counts' => true 

    ); 
    $categories = get_categories($cat_args); 
    if(count($categories)>0) 
    { 

     $separator = ' '; 
     $output = ''; 
     foreach ($categories as $category) { 

      $output .= $category->cat_name; 
      echo trim($output, $separator); 
     } 
    } 
    ?> 
相关问题