Display Custom Taxonomy names

admin2025-06-06  7

Im trying to display a custom taxonomy for a custom post type. So this taxonomy is specific to this custom post type. Unfortunately I cant get them to display. Here is my code in functions.php to register the custom taxonomy:

add_action('init', 'products_categories', 0);

function products_categories(){
$labels = array ('name' => _x('Product Categories','taxonomy general name'),
                'singular_name' =>_x('Product Category','taxonomy singular name'),
                'serch_items' => __('Search Product Categories'),
                'popular_items' => ('Popular Product Categories'),
                'all_items' => __('All Product Categories'),
                'parent_item' => null,
                'parent_item_colon' => null,
                'edit_item' => __('Edit Product Category'),
                'update_item' => __('Update Product Category'),
                'add_new_item' => __('Add Product Category'),
                'new_item_name' => __('New Product Category'),
                'separate_items_with_commas' => __('Seperate Product Categories with commas'),
                'add_or_remove_items' => __('Add or remove Product Categories'),
                'choose_from_most_used' => __('Most Used Product Categories'),
                'menu_name' => __('Product Categories'),
                );

register_taxonomy('product_categories', 'products', array(
'hierarchical' => false,
    'labels' => $labels,
    'show_ui' => true,
    'show_admin_column' => true,
    'update_count_callback' => '_update_post_term_count',
    'query_var' => true,
    'rewrite' => array( 'slug' => 'product_category' ),
));
}

And here im trying to display them:

<?php } 
    $terms = get_terms('taxonomy'=>'product_category', 'hide_empty'=> false,);
        foreach ( $terms as $term) {
?>
<a href=""><?php echo $term->name; ?></a>
<?php 
 }?>

Do I need to have this running in a query of some sort first?

Im trying to display a custom taxonomy for a custom post type. So this taxonomy is specific to this custom post type. Unfortunately I cant get them to display. Here is my code in functions.php to register the custom taxonomy:

add_action('init', 'products_categories', 0);

function products_categories(){
$labels = array ('name' => _x('Product Categories','taxonomy general name'),
                'singular_name' =>_x('Product Category','taxonomy singular name'),
                'serch_items' => __('Search Product Categories'),
                'popular_items' => ('Popular Product Categories'),
                'all_items' => __('All Product Categories'),
                'parent_item' => null,
                'parent_item_colon' => null,
                'edit_item' => __('Edit Product Category'),
                'update_item' => __('Update Product Category'),
                'add_new_item' => __('Add Product Category'),
                'new_item_name' => __('New Product Category'),
                'separate_items_with_commas' => __('Seperate Product Categories with commas'),
                'add_or_remove_items' => __('Add or remove Product Categories'),
                'choose_from_most_used' => __('Most Used Product Categories'),
                'menu_name' => __('Product Categories'),
                );

register_taxonomy('product_categories', 'products', array(
'hierarchical' => false,
    'labels' => $labels,
    'show_ui' => true,
    'show_admin_column' => true,
    'update_count_callback' => '_update_post_term_count',
    'query_var' => true,
    'rewrite' => array( 'slug' => 'product_category' ),
));
}

And here im trying to display them:

<?php } 
    $terms = get_terms('taxonomy'=>'product_category', 'hide_empty'=> false,);
        foreach ( $terms as $term) {
?>
<a href=""><?php echo $term->name; ?></a>
<?php 
 }?>

Do I need to have this running in a query of some sort first?

Share Improve this question edited Nov 21, 2018 at 10:31 Zayd Bhyat asked Nov 21, 2018 at 10:09 Zayd BhyatZayd Bhyat 892 silver badges15 bronze badges 1
  • there you have registered taxonomy 'product_categories' but you trying get_terms with a different name as 'product_category'. – Aishan Commented Nov 21, 2018 at 10:22
Add a comment  | 

2 Answers 2

Reset to default 1

it looks like your get_terms() call is incorrect, the argument is not an array and you have a typo in taxonomy name ('product_category' instead of 'product_categories') it should be

<?php 
$terms = get_terms( array( 
    'taxonomy'=>'product_categories', 
    'hide_empty'=> false 
) ); 
?>

If this will not help it would be best if you could let us know if you are seeing any error message and if you do paste the error here.

I managed to solve this and I will post the answer:

<?php
  $args = array('number' => '1',);
  $terms = get_terms('recipes', $args );
    foreach( $terms as $term ){
    echo '<div class="title">' . $term->name . 'recipe</div>';
    } 
转载请注明原文地址:http://conceptsofalgorithm.com/Algorithm/1749163657a316901.html

最新回复(0)