it-swarm.com.de

auszug - Verwenden Sie den Hauptinhalt nicht, wenn er leer ist

versuche, get_the_excerpt () daran zu hindern, standardmäßig the_content () zu verwenden, wenn es leer ist.

das funktioniert irgendwie - nun, es scheint 'xxx' zurückzugeben, also denke ich, dass has_excerpt () nicht funktioniert?

function get_link_excerpt(){
    if(has_excerpt()){
        $LinkExcerpt = get_the_excerpt();
        return $LinkExcerpt."...";
    }
    return 'no excerpt'; 
}
add_filter('get_the_excerpt', 'get_link_excerpt');

wie kann man das am besten kontrollieren?

am besten, dc

1
v3nt

WordPress richtet einen Standardfilter für get_the_excerpt ein : wp_trim_excerpt(). Mit dieser Funktion wird ein Auszug aus dem Inhalt "bei Bedarf" generiert . Wenn Sie dieses Verhalten nicht möchten, können Sie den Filter einfach aushängen:

add_action( 'init', 'wpse17478_init' );
function wpse17478_init()
{
    remove_filter( 'get_the_excerpt', 'wp_trim_excerpt' );
}

Jetzt gibt get_the_excerpt() nur den Inhalt des Datenbankfelds post_excerpt zurück. Wenn Sie etwas zurückgeben möchten, wenn es leer ist, müssen Sie nur diesen Fall überprüfen:

add_filter( 'get_the_excerpt', 'wpse17478_get_the_excerpt' );
function wpse17478_get_the_excerpt( $excerpt )
{
    if ( '' == $excerpt ) {
        return 'No excerpt!';
    }
    return $excerpt;
}

get_the_excerpt() muss nicht aufgerufen werden - es kann sogar zu einer endlosen Rekursion kommen, da Ihr Filter erneut angewendet wird!

3
Jan Fabry