wake-up-neo.net

array_pop () erwartet einen Array-Booleschen Wert für $ event_type_term -> slug

Ich habe die folgende Funktion, die ich geschrieben habe ...

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;
}

Beim Anlegen eines neuen Beitrags erhalte ich im Backend folgende Warnungen ...

Warnung: array_pop () erwartet, dass Parameter 1 ein Array ist, ein boolescher Wert, der in /Users/my/htdocs/wr/wp-content/themes/wr/functions.php in Zeile 168 angegeben ist

Hinweis: In Zeile 168 wird versucht, die Eigenschaft von non-object in /Users/my/htdocs/wr/wp-content/themes/wr/functions.php abzurufen

Irgendwelche Ideen, was ich hier falsch mache?

Danke im Voraus!

3
mathiregister

get_the_terms () gibt wahrscheinlich false zurück.

Machen Sie ein print_r ($ event_type_term), um zu sehen, was Sie darin haben.

Von: http://codex.wordpress.org/Function_Reference/get_the_terms

Array von Termobjekten auf Erfolg. Falsch, wenn in der angegebenen Taxonomie keine Begriffe gefunden werden, und ein wp_error-Objekt, wenn eine ungültige Taxonomie eingegeben wird.

4
RRikesh