0

After creating new custom post type with register_post_type() function, I don't see the Tags meta box when adding a page of new post type.

It seems that tags metabox should be added manually.
If so, how can I add it?

1 Answer 1

0

There are essentially two ways to do this.

The first is to supply the taxonomies keyword in the register_post_type arguments array, like so:

register_post_type('my_type', array(
    ...
    'taxonomies' => array('category', 'post_tag'),
    ...
));

The other is to register your post type and set up its taxonomies at a later point:

register_taxonomy_for_object_type( 'category', 'my_type' );
register_taxonomy_for_object_type( 'post_tag', 'my_type' );

UPDATE: Likely you will want some of these taxonomies to be exclusive to your post type. First, taxonomies exists across all post types, that's their strength. If however, you want to be able to add tags that are exclusive to your custom post type you will have to register a custom taxonomy as well.

register_taxonomy('my_tax', 'my_type'); // You will have to run this one time for each post type you wish to use

The above should do fine, but check out the register_taxonomy documentation as there are quite a few arguments you can supply to affect its behavior.

3
  • Exactly what i wanted. tnx
    – revo
    Commented Feb 13, 2013 at 8:09
  • i found that adding post_tag for new custom post type also shows the tags used in post type. how can i make it separated ?
    – revo
    Commented Feb 13, 2013 at 8:14
  • I'm not entirely sure what you are asking, but if I understand correctly you don't want the default post_tag taxonomy terms (which also is available for posts, that is the post post type) to be used by both the default posts and your custom post type. I have updated my answer with a not about custom taxonomies.
    – Simon
    Commented Feb 13, 2013 at 9:21

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.