J'ai un problème étrange avec get_term_by (). Cela fonctionne bien lorsque je l'utilise dans un modèle, mais lorsque je l'utilise dans functions.php, il renvoie simplement false.
$term = get_term_by('slug', 'some-term', 'some-taxonomy');
var_dump($term);
Toute explication quant à pourquoi cela se produirait serait grandement appréciée.
Cela se produit probablement car la taxonomie que vous essayez d'interroger est déjà enregistrée. Par exemple. L'environnement WordPress est chargé lors du chargement du fichier functions.php d'un thème, mais de nombreux plugins/thèmes/fonctions principales n'enregistrent pas les taxonomies avant.
Essayez de vous connecter à init
avec un numéro de priorité vraiment élevé et d’exécuter la fonction get_term_by
. Ainsi:
<?php
add_action( 'init', 'wpse27111_tester', 999 );
function wpse27111_tester()
{
$term = get_term_by('slug', 'some-term', 'some-taxonomy');
var_dump($term);
}