Taxonomie personalizată cu tax_query
Am creat un tip de taxonomie personalizată cu un plugin (CMS Press) și acum încerc să obțin toate articolele cu termenii taxonomiei din acea taxonomie.
Funcția mea get_posts arată astfel:
$args = Array(
'numberposts' => 5, // numărul de postări
'offset' => 0,
'post_status' => 'publish',
'content-type' => 'my-term'
);
get_posts($args);
Am încercat și această variantă:
$args = Array(
'numberposts' => 5, // numărul de postări
'offset' => 0,
'post_status' => 'publish',
'tax_query' => Array( Array (
'taxonomy' => 'content-type'
'field' => 'slug'
'terms' => 'my-term'
));
get_posts($args);
Acest cod funcționează bine când nu folosesc o taxonomie personalizată. Dacă îmi modific cererea la:
$args = Array(
'numberposts' => 5, // numărul de postări
'offset' => 0,
'post_status' => 'publish',
'tax_query' => Array( Array (
'taxonomy' => 'post_tags'
'field' => 'slug'
'terms' => 'some-tag'
));
get_posts($args);
funcționează.
Mă întrebam dacă am omis ceva care împiedică interogarea taxonomiilor personalizate. Orice ajutor ar fi apreciat.

Din WordPress codex pentru wp_query:
Afișează articolele etichetate cu bob, sub taxonomia personalizată 'people':
$args = array(
'post_type' => 'post',
'people' => 'bob'
);
$query = new WP_Query( $args );
Afișează articolele etichetate cu bob, sub taxonomia personalizată 'people', folosind tax_query:
$args = array(
'post_type' => 'post',
'tax_query' => array(
array(
'taxonomy' => 'people',
'field' => 'slug',
'terms' => 'bob'
)
)
);
$query = new WP_Query( $args );
Vezi pagina Codex pentru mai multe exemple.

Cea mai probabilă cauză a acestei probleme este utilizarea cratimelor (-
) în denumirea taxonomiei personalizate. Cratimele sunt extrem de problematice atunci când sunt folosite în denumirile taxonomiilor personalizate, așa că, conform regulilor, ar trebui evitate cu orice preț.
Dacă trebuie să separați denumirile într-o taxonomie personalizată sau chiar într-un tip de postare personalizată, ar trebui să folosiți numai underscore-uri (_
). De asemenea, evitați utilizarea camelCase, a numerelor ca prim caracter și a oricăror tipuri de caractere speciale.
