2015-04-17 151 views
0

我有很多自定義帖子類型,我希望其中的兩個可以通過標籤進行關聯。這些標籤僅適用於這兩種自定義帖子類型。在WordPress中添加自定義帖子類型的自定義標籤

例如;我有兩個自定義後類型

  1. 作家

而且我想這兩個職位類型有自定義標籤只可用於這兩個職位類型。

我該怎麼做?

我嘗試使用自定義分類法,但沒有成功。

+0

的分類http://wordpress.stackexchange.com – jathin

回答

1

這是一個基本的例子,我用你可以相應地改變。

add_action('init', 'codex_book_init'); 
/** 
* Register a book post type. 
* 
* @link http://codex.wordpress.org/Function_Reference/register_post_type 
*/ 
function codex_book_init() { 
    $labels = array(
     'name'    => _x('Books', 'post type general name', 'your-plugin-textdomain'), 
     'singular_name'  => _x('Book', 'post type singular name', 'your-plugin-textdomain'), 
     'menu_name'   => _x('Books', 'admin menu', 'your-plugin-textdomain'), 
     'name_admin_bar'  => _x('Book', 'add new on admin bar', 'your-plugin-textdomain'), 
     'add_new'   => _x('Add New', 'book', 'your-plugin-textdomain'), 
     'add_new_item'  => __('Add New Book', 'your-plugin-textdomain'), 
     'new_item'   => __('New Book', 'your-plugin-textdomain'), 
     'edit_item'   => __('Edit Book', 'your-plugin-textdomain'), 
     'view_item'   => __('View Book', 'your-plugin-textdomain'), 
     'all_items'   => __('All Books', 'your-plugin-textdomain'), 
     'search_items'  => __('Search Books', 'your-plugin-textdomain'), 
     'parent_item_colon' => __('Parent Books:', 'your-plugin-textdomain'), 
     'not_found'   => __('No books found.', 'your-plugin-textdomain'), 
     'not_found_in_trash' => __('No books found in Trash.', 'your-plugin-textdomain') 
    ); 

    $args = array(
     'labels'    => $labels, 
     'public'    => true, 
     'publicly_queryable' => true, 
     'show_ui'   => true, 
     'show_in_menu'  => true, 
     'query_var'   => true, 
     'rewrite'   => array('slug' => 'book'), 
     'capability_type' => 'post', 
     'has_archive'  => true, 
     'hierarchical'  => false, 
     'menu_position'  => null, 
     'supports'   => array('title', 'editor', 'author', 'thumbnail', 'excerpt', 'comments') 
    ); 

    register_post_type('book', $args); 
} 

// hook into the init action and call create_book_taxonomies when it fires 
add_action('init', 'create_book_taxonomies', 0); 

// create two taxonomies, genres and writers for the post type "book" 
function create_book_taxonomies() { 
    // Add new taxonomy, NOT hierarchical (like tags) 
    $labels = array(
     'name'      => _x('Categories', 'taxonomy general name'), 
     'singular_name'    => _x('Writer', 'Category singular name'), 
     'search_items'    => __('Search Category'), 
     'popular_items'    => __('Popular Category'), 
     'all_items'     => __('All Writers'), 
     'parent_item'    => null, 
     'parent_item_colon'   => null, 
     'edit_item'     => __('Edit Category'), 
     'update_item'    => __('Update Category'), 
     'add_new_item'    => __('Add New Category'), 
     'new_item_name'    => __('New Category Name'), 
     'separate_items_with_commas' => __('Separate Category with commas'), 
     'add_or_remove_items'  => __('Add or remove Category'), 
     'choose_from_most_used'  => __('Choose from the most used Category'), 
     'not_found'     => __('No writers found.'), 
     'menu_name'     => __('Category'), 
    ); 

    $args = array(
     'hierarchical'   => true, 
     'labels'    => $labels, 
     'show_ui'    => true, 
     'show_admin_column'  => true, 
     'update_count_callback' => '_update_post_term_count', 
     'query_var'    => true, 
     'rewrite'    => array('slug' => 'Category'), 
    ); 

    register_taxonomy('Category', 'book', $args); 

    // Add new taxonomy, make it hierarchical (like categories) 
    $labels = array(
     'name'    => _x('Tags', 'taxonomy general name'), 
     'singular_name'  => _x('Tags', 'taxonomy singular name'), 
     'search_items'  => __('Search Genres'), 
     'all_items'   => __('All Tags'), 
     'parent_item'  => __('Parent Tags'), 
     'parent_item_colon' => __('Parent Tags:'), 
     'edit_item'   => __('Edit Tags'), 
     'update_item'  => __('Update Tags'), 
     'add_new_item'  => __('Add New Tags'), 
     'new_item_name'  => __('New Tags Name'), 
     'menu_name'   => __('Tags'), 
    ); 

    $args = array(
     'hierarchical'  => false, 
     'labels'   => $labels, 
     'show_ui'   => true, 
     'show_admin_column' => true, 
     'query_var'   => true, 
     'rewrite'   => array('slug' => 'Tags'), 
    ); 

    register_taxonomy('Tags', array('book'), $args); 


} 

其他類型後,您可以使用相同的代碼與崗位類型的變化和像

register_post_type('writer', $args); 
register_taxonomy('Tags', array('writer'), $args); 
相關問題