2016-09-19 186 views
0

我创建了一个自定义后的类型和自定义分类...get_terms没有返回

function create_deals_post_type() { 
    register_post_type('Deals', 
     array(
      'labels' => array (
       'name'     => __('Deals'), 
       'singular_name'   => __('Deal'), 
       'add_new'    => __('Add New'), 
       'add_new_item'   => __('Add a new Deal'), 
       'view_item'    => __('View Deal'), 
       'edit_item'    => __('Edit Deal'), 
       'new_item'    => __('New Deal'), 
       'all_items'    => __('All Deals'), 
       'search_items'   => __('Search Deals'), 
       'not_found'    => __('No deals found'), 
       'not_found_in_trash' => __('No deals found in the trash'), 
       'parent_item_colon'  => '', 
       'menu_name'    => 'Deals' 
      ), 
      'can_export'   => true, 
      'description'   => 'Delicious Deals', 
      'public'    => true, 
      'has_archive'   => true, 
      'rewrite'    => apply_filters('et_project_posttype_rewrite_args', array(
       'feeds'   => true, 
       'slug'   => 'deals', 
       'with_front' => false,)), 
      'capability_type'  => 'post', 
      'hierarchical'   => false, 
      'show_ui'    => true, 
      'show_in_menu'   => true, 
      'show_in_nav_menus'  => true, 
      'show_in_admin_bar'  => true, 
      'menu_position'   => 0, 
      'supports'    => array('title', 'editor', 'thumbnail') 
     ) 
    ); 

    $labels = array(
     'name'    => _x('Categories', 'Deal category name', 'Divi'), 
     'singular_name'  => _x('Category', 'Deal category singular name', 'Divi'), 
     'search_items'  => __('Search Categories', 'Divi'), 
     'all_items'   => __('All Categories', 'Divi'), 
     'parent_item'  => __('Parent Category', 'Divi'), 
     'parent_item_colon' => __('Parent Category:', 'Divi'), 
     'edit_item'   => __('Edit Category', 'Divi'), 
     'update_item'  => __('Update Category', 'Divi'), 
     'add_new_item'  => __('Add New Category', 'Divi'), 
     'new_item_name'  => __('New Category Name', 'Divi'), 
     'menu_name'   => __('Categories', 'Divi'), 
    ); 

    register_taxonomy('deals-category', 'deals', array(
     'hierarchical'  => true, 
     'labels'   => $labels, 
     'show_ui'   => true, 
     'show_admin_column' => true, 
     'query_var'   => true,) 
    ); 

    $labels = array(
     'name'    => _x('Tags', 'Deal Tag name', 'Divi'), 
     'singular_name'  => _x('Tag', 'Deal tag singular name', 'Divi'), 
     'search_items'  => __('Search Tags', 'Divi'), 
     'all_items'   => __('All Tags', 'Divi'), 
     'parent_item'  => __('Parent Tag', 'Divi'), 
     'parent_item_colon' => __('Parent Tag:', 'Divi'), 
     'edit_item'   => __('Edit Tag', 'Divi'), 
     'update_item'  => __('Update Tag', 'Divi'), 
     'add_new_item'  => __('Add New Tag', 'Divi'), 
     'new_item_name'  => __('New Tag Name', 'Divi'), 
     'menu_name'   => __('Tags', 'Divi'), 
    ); 

    register_taxonomy('deals_tag', 'deals', array(
     'hierarchical'  => false, 
     'labels'   => $labels, 
     'show_ui'   => true, 
     'show_admin_column' => true, 
     'query_var'   => true,) 
    ); 
} 

add_action('init', 'create_deals_post_type'); 

后来,我创建了多个多个类别和标签。我想检索类别,但运行以下时,它不会返回任何内容...

$category_array = get_terms('deals-category'); 
foreach ($category_array as $item) { 
    echo 'Item: ' . $item->name . '. Slug: ' . $item->slug . '</br>'; 
} 

任何援助将不胜感激。

+0

真的往往只是有这些条款没有职位。 WordPress默认情况下不会返回没有帖子的条款。 – Stratboy

回答

0

我试了你的代码&工作正常。 [实验的屏幕截图:http://imgur.com/a/jPms7]

请确保您已创建至少一个帖子在帖子类型'交易'&指定一些交易类别与它。

[或者你可以&分类新标准的方式从这里创建的帖子类型:https://generatewp.com/post-type/]

+1

我发现添加第二个参数get_terms固定它,以及当没有帖子存在时... get_terms('deals-category',array('hide_empty'=> 0)) – BradB