Wordpress - 如何从其他自定义 post get_categories?

Wordpress - How can I get_categories from additional custom post?

我的目标是从我在 functions.php 中注册的附加自定义项 post 中获取类别。我怎样才能得到它的类别并在我的页面上回显它?到目前为止,这是我的代码: 来自页面:

 <?php
   $args = array(
   'post_type' => 'pdf',
   'orderby' => 'slug',
   'order' => 'ASC',
   'parent' => 0,
   'hide_empty' => false
   );
   $categories = get_categories($args);
   foreach( $categories as $category ){
   echo '<option><a class="ctg" href="'. get_category_link( $category->term_id ) .' ">' . $category->name . '</a></option>';
   }
  ?>      

来自 functions.php

  $args = array(
   'label' => 'category',
   'public' => true,
   'show_ui' => true,
   'show_in_nav_menus' => true,
   'show_admin_column' => true,
   'hierarchical' => true,
   'query_var' => true
  );
    register_taxonomy('pdf_cat','pdf',$args);
   

点击特定类别时回显现有 post:

                    <?php
                  $cat = get_the_category();
                  $cat = $cat[0]; 
                  $catname = get_cat_name($cat->term_id); 
                  $catid = get_cat_ID($catname);  
                ?>
                  
                <?php
                      $paged = get_query_var('paged', 1);
                      $args = array(  
                          'post_type' => 'pdf',
                          'paged' => $paged,
                          'post_type' => 'post',
                          'cat' => $catid,
                      );
                      $query = new WP_Query($args);         
             
                  global $query_string; 
                  query_posts( $query_string . "&posts_per_page=15&paged=".$paged );
                  while ( have_posts() ) : the_post()
                ?>

wordpress 中自定义 post 类型的类别使用分类功能。在这种情况下,您可以使用 get_terms 来获取“类别”。

例子

$categories = get_terms([
    'taxonomy' => 'pdf_cat',
    'hide_empty' => false,
]);