【问题标题】:Cant display a list of all categories under a post_type无法显示 post_type 下所有类别的列表
【发布时间】:2014-05-21 13:21:55
【问题描述】:

我一直在尝试在 wordpress 上创建一个页面,该页面显示所有类别的图像、标题和特定 post_type 的所有类别的链接。

我已将以下代码添加到我的 functions.php 文件中:

function show_categories($excl=''){
   $categories = get_the_category($post->ID);
     if(!empty($categories)){
        $exclude=$excl;
        $exclude = explode(",");
        foreach ($categories as $cat) {
            if(!in_array($cat->cat_ID)) {
            echo '<div class="product-category">';
            // echo '<p>' . $cat->category_description . '</p>';
            echo '<a href="' . get_category_link( $cat->term_id ) . '" />';
            echo '<img src="';
            echo z_taxonomy_image_url($cat->term_id, 'products') . '" />';
            echo '</a>';
            echo '<h2><a href="' . get_category_link( $cat->term_id ) . '" class="cat-link"';
            echo '/>' . $cat->cat_name . '</a></h2>';
            echo '<a href="' . get_category_link( $cat->term_id ) . '" class="more-info" >Info</a>';
            echo '</div>';
            }
          }

      }
}

现在的问题是:它只显示最新帖子的类别。如果最新帖子包含在所有类别中,则会显示所有类别,否则只会显示与最新帖子相关的类别。

我在文件 archive-products.php 上调用这个函数,如下所示:

<?php show_categories(); ?> 

有什么想法吗?

这是页面:http://giannacamilotti.com/products/

【问题讨论】:

    标签: php wordpress custom-post-type categories


    【解决方案1】:

    我找到了解决方案,下面的代码有效!

    function show_categories($excl=''){
    $args=array(
    'post_type' => 'Products'
    );
       $categories = get_categories($args);
         if(!empty($categories)){
            $exclude=$excl;
            $exclude = explode(",");
            foreach ($categories as $cat) {
                echo '<div class="product-category ' . $cat->cat_name . ' ">';
                echo '<a href="' . get_category_link( $cat->term_id ) . '" />';
                echo '<img src="';
                echo z_taxonomy_image_url($cat->term_id, 'products') . '" />';
                echo '</a>';
                echo '<h2><a href="' . get_category_link( $cat->term_id ) . '" class="cat-link"';
                echo '/>' . $cat->cat_name . '</a></h2>';
                echo '<a href="' . get_category_link( $cat->term_id ) . '" class="more-info" >Info</a>';
                echo '</div>';
                }
    
          }
    }
    

    如果有人有更好更清洁的解决方案,请告诉我。

    【讨论】:

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