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 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()
?>
CodePudding user response:
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,
]);