Fonction php de WordPress pour obtenir plusieurs catégories par nom de slug ?
WordPress a une fonction intégrée pour récupérer l’identifiant de catégorie par slug (get_category_by_slug), mais il n’accepte qu’une seule valeur (une chaîne). Et si je voulais obtenir plusieurs identifiants de catégorie, comment pourrais-je lui passer un tableau ?
Voici ce que j’utilise maintenant
header.php
$catObj = get_category_by_slug( 'slider' );
//$termObj = get_term_by('slug', 'slider', 'my_custom_taxonomy')
$catid = $catObj->term_id;
Solution n°1 trouvée
Voici une fonction d’insertion que vous pouvez utiliser dans votre functions.php. Il attend un tableau de slugs de catégorie ($catslugs). Il crée un tableau vide, qui est rempli par une boucle foreach utilisant get_category_by_slug. La boucle foreach parcourt chaque valeur du tableau jusqu’à ce qu’elle se termine. La fonction renvoie ensuite le tableau $catids pour votre utilisation ailleurs.
fonctions.php
function get_cats_by_slug($catslugs) {
$catids = array();
foreach($catslugs as $slug) {
$catids[] = get_category_by_slug($slug)->term_id; //store the id of each slug in $catids
}
return $catids;
}
Voici comment vous l’utiliseriez dans votre header.php par exemple
header.php
$catslugs = array('uncategorized','slider','news','featured');
$catids = get_cats_by_slug($catslugs);
Nous créons un tableau ($catslugs) avec les slugs de catégorie que nous souhaitons récupérer, puis nous créons une variable pour stocker la valeur renvoyée ($catids) de notre fonction. La fonction est exécutée et $catids contient maintenant un tableau d’identifiants de catégorie à utiliser ailleurs.
0 commentaire