J'ai la fonction suivante que j'ai écrite…
add_filter('post_type_link', 'events_permalink_structure', 10, 4);
function events_permalink_structure($post_link, $post, $leavename, $sample) {
if ( false !== strpos( $post_link, '%event_type%' ) ) {
$event_type_term = get_the_terms( $post->ID, 'event_type' );
$post_link = str_replace( '%event_type%', array_pop( $event_type_term )->slug, $post_link );
}
return $post_link;
}
Lors de la création d'un nouveau message, les avertissements suivants apparaissent dans le backend…
Avertissement: array_pop () s'attend à ce que le paramètre 1 soit array, booléen dans /Users/my/htdocs/wr/wp-content/themes/wr/functions.php, ligne 168
Avis: essayer d'obtenir la propriété de non-objet dans /Users/my/htdocs/wr/wp-content/themes/wr/functions.php à la ligne 168
Des idées que je fais mal ici?
Merci d'avance!
get_the_terms () renvoie probablement false.
Faites un print_r ($ event_type_term) pour voir ce que vous avez dedans.
De: http://codex.wordpress.org/Function_Reference/get_the_terms
Tableau d'objets à terme en cas de succès. False si aucun terme n'est trouvé dans la taxonomie donnée et un objet wp_error si une taxonomie non valide est entrée.