web-dev-qa-db-fra.com

Obtenir plusieurs objets de terme par identifiants

J'ai un tableau d'identifiants qui correspondent à des termes. Comment obtenir les objets de terme complets pour chaque identifiant?

$ids = array(1,2,3);

Idéalement, j'aimerais pouvoir faire quelque chose de similaire à la manière les requêtes de taxonomie avec WP_Query travail, mais évidemment avec des termes au lieu de posts.

2
Jeff

Je me demande si vous voulez dire quelque chose comme ceci exemple modifié du Codex:

// Fetch:
$terms = get_terms( 'category', array(
    'include' => array( 1, 2, 3 ),
) );

// Output:
if ( ! empty( $terms ) && ! is_wp_error( $terms ) )
{
     $li = '';
     foreach ( $terms as $term )
     {
       $li .= sprintf( "<li>%s</li>", $term->name );    
     }
     printf( "<ul>%s</ul>", $li );
 }

$terms contient un tableau d'objets term, un tableau vide ou l'objet WP_Error().

Consultez le Codex sur get_terms() pour obtenir plus d’informations sur les arguments output et input . Là vous pouvez obtenir plus d'exemples de code.

4
birgire

Voir http://codex.wordpress.org/Function_Reference/get_term_by

Créez une boucle foreach pour votre tableau.

foreach($ids as $id) {
    $terms[$id] = get_term_by('id', $id, 'category');
}

var_export($terms);

Vous pouvez ensuite faire ce que vous voulez avec les données.