Is there a way of storing posts and pages under the same hierarchy?

I’m working on a site which needs to have pages and posts sorted into the same categories. The pages have their own individual hierarchy structure.

Is there a way to do this using a custom taxonomy?

Related posts

Leave a Reply

1 comment

  1. Yes, a custom taxonomy is the best way to achieve this.

    For a cat breeder site I’ve set a taxonomy for colors (in german: Farbe):

    register_taxonomy(
        'farbe',
        array( 'post', 'page' ),
        array(
            'hierarchical'  => false,
            'label'         => 'Farbe (Fell)',
            'query_var'     => 'farbe',
            'rewrite'       => array('slug' => 'farbe')
        )
    );
    

    Note the third parameter array( 'post', 'page' ).

    Now you can find all posts and page covering the color black at /farbe/black/.

    That’s all, WP will do the rest for you. 🙂

    Update

    WordPress will search for a matching template.

    To link to this taxonomy, add the following code to the meta data box (tags, categories, date etc.) of your posts:

    echo get_the_term_list( $post->ID, 'farbe', ' · Farbe: ', ', ', '' );
    

    Output:

    <a href="http://example.com/farbe/black/" rel="tag">black</a>
    

    Screenshot for taxonomy “Farbe” in the post edit screen:

    alt text