【问题标题】:How to exclude specific category and show only one from the get_the_category();如何从 get_the_category() 中排除特定类别并仅显示一个;
【发布时间】:2017-07-31 13:21:03
【问题描述】:

例如,我在类别中有一个帖子:cat1,cat2,cat3,我想排除 cat1 并仅显示 cat2 或 cat3 中的一个。

 <?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() 中显示一个类别; ?

有人可以帮我吗?

【问题讨论】:

  • 一旦你有了你的类别,你就可以用get_posts 检索帖子(有关详细信息,请参阅this link)。请注意,如果您想要多个类别,您宁愿存储它们的id 而不是它们的名称,用逗号分隔
  • 你如何决定这个'OR''只有一个来自cat2或cat3。' ..任何随机都会起作用吗?在这种情况下,您可能会更改 $output .= $category->cat_name;到 $output = $category->cat_name;如果 cat3 存在,它将覆盖 cat2,用 cat3 覆盖。
  • 猫 2 会好的
  • @Mohsin cat 2 会没事的
  • 你可以检查 if($output != '') 然后用 "break" 关键字打破循环。因此,只要 $output 的值不会被 cat1 跳过,而是 cat2 .. 所以只要它有.. 它就会打破循环并移动到下一个,例如 echo trim ...

标签: wordpress


【解决方案1】:

在 wordpress 中使用带有逗号分隔值类别 ID 的“排除”参数来排除类别

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

【讨论】:

    【解决方案2】:

    类似的东西

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-12-27
      • 1970-01-01
      • 2010-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多