2

I like to create a landing page for my custom taxonomies. Right now ive created three custom taxonomies

/country/[terms]
/person/[terms]
/interrests/[terms]

i like to create a listing page for each of the taxonomy, this listing page should list all the [terms] they contain. And link to the normal (taxonomy-[term].php /taxonomy/[term]) url. What is a proper way to implement this?

First i was thinking something along the lines with template_redirect and create a custom taxonomy-list.php file to include in the action which manually query using a WP_Query()

2 Answers 2

4

I can see at least 3 ways to do that.

  1. Adding a rewrite rule. See http://codex.wordpress.org/Rewrite_API for details:

    add_rewrite_rule('^(country|person|interest)/?','index.php?tax=$matches[1]','top');
    

    then use the template_redirect filter to load your template when the taxvariable is there:

    if (get_query_var('tax')) {
        # load the template here 
    }
    

    You'll also need to add the tax query var to the list of filtered vars using the query_vars filter.

  2. Creating pages using specific template to list the terms

  3. Creating pages and use a shortcode to list the terms
2
1

In your case you need to create three custom files: taxonomy-country.php, taxonomy-person.php and taxonomy-interrests.php.

Pay attention to suffixes of those templates. It has to be the same as in taxonomy registration. For instance if you register your taxonomy like register_taxonomy( 'genre', array( 'book' ), $args );, then your custom template has to have taxonomy-genre.php file name.

Your Answer

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

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