1

My goal is to get the Categories from the additional custom post I've registered in functions.php. How can I get its categories and echo it on my page? here are my code so far: from page:

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

from 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);
   

Echo the existing post when hit the specific category:

                    <?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()
                ?>
maru
  • 35
  • 7

1 Answers1

3

Categories on custom post types in wordpress are use the taxonomy functions. You can use get_terms to fetch the "categories" in this case.

Example

$categories = get_terms([
    'taxonomy' => 'pdf_cat',
    'hide_empty' => false,
]);
infamoustrey
  • 730
  • 8
  • 16
  • but how can I echo it when I hit the specific category name? I posted my new code – maru Dec 16 '21 at 06:34
  • @maru all you need to do is just echo the object, $categories is just an array, so just iterate over it with a for-each then echo the property of the taxonomy object – infamoustrey Dec 19 '21 at 17:24
  • hi @infamoustrey hope you can help me to my issue https://stackoverflow.com/questions/70417765/page-for-my-custom-taxonomy-url-link-doesnt-show-up – maru Dec 20 '21 at 12:57