Ein benutzerdefinierter Inhaltstyp kann (auch) einen Haupteditor haben, muss aber nicht. Besteht der gesamte Content eines Inhaltstyps nur aus benutzerdefinierten Feldern und unterstützt den Haupteditor nicht, haben Archive und Suchergebnisseiten in denen er gelistet ist, keinen Textauszug (Excerpt), sofern dieser nicht unabhängig vom Hauptinhalt unterstützt und auch befüllt wird.
Nachfolgend eine Funktion die einen Ersatz-Excerpt aus einem benutzerdefinierten Feld generiert.
function flxo_replace_excerpt( $excerpt ) {
$post_id = get_the_id();
$post_type = get_post_type( $post_id );
if ( $post_type == 'my_post_type' ) {
$post = get_post( $post_id );
$content = get_post_meta( $post->ID, 'my_custom_field', true );
if ( empty($content) ) return $excerpt;
$trimmed = wp_trim_words( $content, 55, $more = ' […]' );
$excerpt = sprintf( '<div class="entry-summary">%1$s</div>', $trimmed );
}
return wp_kses( $excerpt, ['div' => ['class' => []]] );
}
add_filter( 'get_the_excerpt' , 'flxo_replace_excerpt', 18 );
Schreibe einen Kommentar