Je récupère un tableau d'identifiants de pages créés dans une autre fonction que j'utilise régulièrement - c'est très bien. Le problème que j'ai est dans la fonction ci-dessous. Certaines pages ne se sont pas vu attribuer un "intérêt" parmi les options de la taxonomie des intérêts. Par conséquent, le tableau $ terms contient des faux booléens des pages sans termes. Lorsque le foreach rencontre ces faux booléens, une erreur php apparaît à l'écran, bien que la boucle continue à s'exécuter et fonctionne comme prévu de toutes les manières. Comment puis-je empêcher cette erreur d'apparaître? J'ai besoin d'une sorte d'attrape-erreur pour les faux booléens mais je ne sais pas comment s'y prendre. Tout conseil est fort apprécié!
foreach ($campids as $campid){
$terms = get_the_terms($campid, 'interests');
foreach($terms as $term){
$camp_int = $term->name;
if ($camp_int == $interest){ // include only camps with the correct location
$camps[$i]['id']=$campid;
$camps[$i]['interest']=$camp_int;
}
}
$i++;
}
Ce dont vous avez besoin est à peu près tout droit sorti du Codex:
$terms = get_the_terms( $post->ID, 'on-draught' );
if ( $terms && ! is_wp_error( $terms ) ) :
$draught_links = array();
foreach ( $terms as $term ) {
$draught_links[] = $term->name;
}
get_the_terms()
PEUT RENVOYER UN OBJET TERM, false
OU UN OBJET WP_Error
. Vous ne recherchez ni la variable false
ni l'objet d'erreur. C'est ce que fait ce conditionnel:
if ( $terms && ! is_wp_error( $terms ) )
Utilisez-le au lieu de if(is_array($terms)){