WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have a custom post type called portfolio and a taxonomy called locations. In the taxonomy I have various terms, like paris, berlin, london etc.

How can I get only the posts which are related to one term, e.g. paris?

I am trying the following code, yet it gives me the ALL the posts of the taxonomy portfolio and not just of one term:

$args = array(
    'post_type' => 'portfolio',
    'locations' => 'paris'
$my_query = new WP_Query( $args );

if( $my_query->have_posts() ) {
    while ($my_query->have_posts()) : $my_query->the_post(); ?>
        <p><a href="<?php the_permalink() ?>" rel="bookmark" title="Permanent Link to <?php the_title_attribute(); ?>"><?php the_title(); ?></a></p>
share|improve this question
Are you sure locations is slug for that taxonomy? Could you show taxonomy registration code? – Rarst Aug 1 '13 at 21:45
That 'taxonomy' => 'term_slug' pattern is deprecated but should still work. Something else is wrong. Post debugging information please. – s_ha_dum Aug 1 '13 at 22:08
Also the code tries to query a portfolio post_type 'post_type' => 'portfolio' but the question refers to "the posts of the taxonomy 'portfolio'". – Jon Aug 2 '13 at 0:25

You can try making the $args array more specific with:

$args = array(
    'post_type' => 'portfolio',
    'tax_query' => array(
            'taxonomy' => 'locations',
            'field' => 'slug',
            'terms' => 'paris'

Grabbed this snippet similar to one on the WP Query page in the codex. Also, this is assuming that your custom post type is called "portfolio" and you have a custom taxonomy, "locations" and the term "paris". I say this because your question above says:

I am trying the following code, yet it gives me the ALL the posts of the taxonomy 'portfolio' and not just of one term:

So "portfolio" is your custom post type, correct? Anyway, let us know if you find the problem. Good luck!

share|improve this answer

Add a slug to your taxonomy :

'rewrite' => array( 'slug' => 'taxonomy_slung' )
share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

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