versuchen, zu verhindern, dass get_the_excerpt () auf den_content () zurückgesetzt wird, 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');
Was ist der beste Weg, dies zu kontrollieren?
am besten, Dc
WordPress richtet einen Standardfilter für get_the_excerpt
: wp_trim_excerpt()
. Es ist diese function, die bei Bedarf einen Auszug aus dem Inhalt 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 databasefeldes 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; }
Es besteht keine Notwendigkeit, get_the_excerpt()
– es könnte sogar eine endlose Rekursion einführen, weil es Ihren Filter erneut anwendet!