web-dev-qa-db-fra.com

Comment obtenir les articles d'un terme de taxonomie personnalisée

J'espère que quelqu'un va m'aider

J'ai un type de message personnalisé (film) avec sa taxonomie personnalisée (producteur), cette taxonomie a son termes propres, par exemple 'WarnerBros'.

Comment puis-je obtenir tous les postes de mon mandat (WarnerBros)?

J'ai ça mais ça ne marche pas encore.

$args = array(
   'post_type' => 'movie',
    'tax_query' => array(
        array(
            'taxonomy' => 'producer',
            'field'    => 'slug',
            'terms'    => 'WarnerBros',
        ),
    ),
);
$query = new WP_Query( $args );

Après avoir joué avec le code, j'ai résolu le problème et je partagerai mon code avec une personne ayant le même problème:

 
 $ type = 'Movie'; // Nom du type de message personnalisé 
 $ Tag = 'WarnerBros'; // Votre terme 
 

$ args = array ( 'post_type' => $ type, 'paginé' => $ paginé, 'posts_per_page' => -1, ' orderby '=>' menu_order ', ' order '=>' ASC ', ' tax_query '=> array ( array ( ' taxonomy '= > 'Producer', // Taxonomy Name 'Field' => 'slug', 'Terms' => array ($ tag) )) );
$ loop = new WP_Query ($ args); while ($ loop-> have_posts ()): $ loop-> the_post (); if (is_object_in_term ($ post-> ID, ', Taxonomy_Name ',' Your_Term ')) // Producer et WarnerBros { echo '<div id="YourID">'; echo the_title(); echo '</div>'; } endwhile;
5
Ebenizer Pinedo

Cette question a des réponses différentes dans cette question spécifique de Wordpress, elles peuvent être utiles:

Afficher tous les articles dans un type d'article personnalisé, regroupés par une taxonomie personnalisée

Personnellement, j'ai utilisé cette méthode qui a bien fonctionné pour moi:

$terms = get_terms('tax_name');
$posts = array();
foreach ( $terms as $term ) {
    $posts[$term->name] = get_posts(array( 'posts_per_page' => -1, 'post_type' => 'post_type', 'tax_name' => $term->name ));
}

En l’ajustant à votre scénario, cela devrait fonctionner:

$terms = get_terms('producer');
$posts = array();
foreach ( $terms as $term ) {
    $posts[$term->name] = get_posts(array( 'posts_per_page' => -1, 'post_type' => 'movie', 'tax_name' => $term->name ));
}

Maintenant, vous pouvez obtenir vos messages:

print_r($posts["WarnerBros"]);
1
marcovega

Supposons que vous avez un type de message personnalisé plays et sous la taxonomie genre vous souhaitez trouver tous les messages de la catégorie comédie

$args = array(
        'post_type' => 'plays', /*Post type (plays)*/
        'tax_query' => array(
            array(
                'taxonomy' => 'genre', /*Taxonomy to search (genre)*/
                'field'    => 'slug',
                'terms'    => 'comedy', /*Search category for (comedy)*/
            ),
        ),
    );
    $query = new WP_Query( $args );
0
Suit Boy Apps

Essayez comme ça

$args = array(
    'post_type' => 'movie',
    'tax_query' => array(
        array(
            'taxonomy' => 'producer',
            'field'    => 'slug',
            'terms'    => 'WarnerBros',
        ),
    ),
);
$query = new WP_Query( $args );

Voir plus sur wordpress codex

0
Ifty