Question

Je suis une taxonomie interrogation personnalisée pour un poste, dans l'espoir d'obtenir une liste de tous les termes de ce poste et la taxonomie. fonctionne get_the_terms($post_id, $taxonomy), mais donne ce tableau ungodly d'objets terme qui nécessitera une couche supplémentaire de l'analyse avant de pouvoir exécuter le code suivant:

if (in_array($list_of_term_ids, $my_term_id)){ do good stuff... }

Je cherche à voir si quelqu'un est venu dans une fonction native WP ou une méthode qui extrait terme ids dans une liste plate avant de lancer ma propre fonction d'utilité, pour que je puisse être en utilisant les meilleures pratiques intégrées.

Était-ce utile?

La solution 2

Eh bien, je l'avais vu et a été jeté par le premier argument, mais il fait exactement ce qui est nécessaire. De wp-includes / taxonomy.php:

function wp_get_object_terms($object_ids, $taxonomies, $args = array())

Et pour l'utiliser comme je voulais, me donner une liste plate d'ID correspondant, appuyez sur « champs » => « ids » dans $ args, comme suit:

wp_get_object_terms($post_id, TAXONOMY_NAME, array('fields'=>'ids'));

Autres conseils

Je sais que vous avez depuis longtemps résolu cela, mais je voulais offrir une autre solution. Cette question surgit comme « lié » quand je répondais à un autre.

Vous pouvez utiliser la fonction de WordPress wp_list_pluck pour retourner un tableau avec des valeurs comme l'un des champs du tableau ou des objets envoyés à la fonction. En d'autres termes, la fonction envoyer les objets et spécifiez le champ que vous voulez en arrière et vous obtiendrez un tableau avec seulement ce champ.

Par exemple, vous pouvez faire quelque chose comme:

$ids = wp_list_pluck(get_terms('category', 'hide_empty=0'), 'term_id'));

$ids sera un tableau des termes ids que vous vouliez capturer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à wordpress.stackexchange
scroll top