web-dev-qa-db-fra.com

Obtenir les termes par ID avec l'ordre des ID

Je veux obtenir des termes par ID avec commande d'ID. Mais cela ne fonctionne pas, WP change automatiquement l'ordre.

Mon code

$catsArray = array(159, 155, 143, 153, ......);
$series = get_terms( array(
              'taxonomy' => 'ctc_sermon_series',
              'number'  =>  9,
              'offset'  =>  $offset,
              'include' => $catsArray,
              'hide_empty'  => false, 
            ) );

Et résultat

(
    [0] => WP_Term Object
        (
            [term_id] => 155
            [name] => 10
            [slug] => 10
            [term_group] => 0
            [term_taxonomy_id] => 155
            [taxonomy] => ctc_sermon_series
            [description] => 
            [parent] => 0
            [count] => 1
            [filter] => raw
        )

    [1] => WP_Term Object
        (
            [term_id] => 159
            [name] => 14
            [slug] => 14
            [term_group] => 0
            [term_taxonomy_id] => 159
            [taxonomy] => ctc_sermon_series
            [description] => 
            [parent] => 0
            [count] => 1
            [filter] => raw
        )

    [2] => WP_Term Object
        (
            [term_id] => 153
            [name] => Name 8
            [slug] => name-8
            [term_group] => 0
            [term_taxonomy_id] => 153
            [taxonomy] => ctc_sermon_series
            [description] => Name 8 Des
            [parent] => 0
            [count] => 1
            [filter] => raw
        )

    [3] => WP_Term Object
        (
            [term_id] => 143
            [name] => Series 1
            [slug] => series-1
            [term_group] => 0
            [term_taxonomy_id] => 143
            [taxonomy] => ctc_sermon_series
            [description] => Series 1 Description
            [parent] => 0
            [count] => 3
            [filter] => raw
        )

)

J'attends le résultat du terme avec ID-159 d'abord, mais à chaque fois j'obtiens le résultat de ID-155 d'abord. J'ai besoin d'obtenir le résultat par la séquence du tableau d'ID.

Merci d'avance :)

2
Arif Khan

Je pense donc que la question est de savoir comment récupérer les termes dans l'ordre des identifiants que vous avez fournis - qui peuvent ne pas être triés par ordre croissant ou décroissant, mais par ordre aléatoire.

Étonnamment, je pense qu’il existe un raccourci pour cela dans WP - qui savait? Ceci, je crois, est ce que vous voulez utiliser:

$catsArray = array(159, 155, 143, 153, ......);
$series = get_terms( array(
          'taxonomy' => 'ctc_sermon_series',
          'number'  =>  9,
          'offset'  =>  $offset,
          'include' => $catsArray,
          'hide_empty'  => false, 
          'orderby'  => 'include', // <--- 
        ) );

J'espère que cela t'aides!

4
MacPrawn

Cela pourrait fonctionner pour vous pensais que je n'ai pas testé.

$catsArray = array(159, 155, 143, 153, ......);
$series = get_terms( array(
              'taxonomy' => 'ctc_sermon_series',
              'number'  =>  9,
              'offset'  =>  $offset,
              'include' => $catsArray,
              'hide_empty'  => false, 
              'orderby' => 'term_id',
              'order' => 'DESC', // or ASC
            ) );
0
Anwer AR