admin管理员组

文章数量:1334335

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()

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()

Share Improve this question edited Jan 3, 2014 at 8:26 Eugene Manuilov 11.4k4 gold badges44 silver badges50 bronze badges asked Jan 3, 2014 at 8:16 Mads Lee JensenMads Lee Jensen 1255 bronze badges
Add a comment  | 

2 Answers 2

Reset to default 4

I can see at least 3 ways to do that.

  1. Adding a rewrite rule. See http://codex.wordpress/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

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.

本文标签: template hierarchyTaxonomy landing pages