Wie zeige ich einen Link oder die Schaltfläche “Mehr lesen” in einem benutzerdefinierten Feldauszug, wenn dieser kleiner als das Wortlimit ist

Ich habe einen Abschnitt in meinem Header, der 2 Auszüge aus den neuesten Posts zeigt, die möglicherweise aus einem normalen Blogpost oder benutzerdefinierten Post stammen. Die benutzerdefinierten Posts verwenden erweiterte benutzerdefinierte Felder, um ein Video, eine Beschreibung und einige andere Dinge in der single.php anzuzeigen. Aus diesem Grund musste ich einige Dinge über die Auszugfilter in meiner functions.php Datei ändern. Das alles funktioniert perfekt, aber das Problem ist, dass die Beschreibung weniger als 15 Wörter sein kann, was mein Minimum für den excerpt_more-Filter zu sein scheint, was bedeutet, dass ich keinen ‘… Read More’ Link oder irgendetwas anderes bekomme, um a Benutzer, um in den Beitrag zu klicken. Hier ist mein Code für diesen Abschnitt:

function new_excerpt_length($length) { return 15; } add_filter('excerpt_length', 'new_excerpt_length'); function new_excerpt_more($more) { global $post; return 'ID) . '">
...Read More
'; } add_filter('excerpt_more', 'new_excerpt_more'); function custom_field_excerpt() { global $post; $text = get_field('description'); if ( '' != $text ) { $text = strip_shortcodes( $text ); $text = apply_filters('the_content', $text); $text = str_replace(']]>', ']]>', $text); $excerpt_length = 15; $excerpt_more = apply_filters('excerpt_more', ' '); $text = wp_trim_words( $text, $excerpt_length, $excerpt_more); } return apply_filters('the_excerpt', $text); }

Gibt es etwas, das ich hinzufügen könnte, oder vielleicht die function new_excerpt_more so ändern, dass immer ein “Read More” hinzugefügt wird und nicht nur, wenn das Minimum von 15 Wörtern erreicht wird?

Solutions Collecting From Web of "Wie zeige ich einen Link oder die Schaltfläche “Mehr lesen” in einem benutzerdefinierten Feldauszug, wenn dieser kleiner als das Wortlimit ist"

Sie können die Anzahl der Wörter in Ihrem Text zählen, um zu prüfen, ob es größer als 15 ist, indem Sie die PHP-function str_word_count verwenden

Also würde ich Ihren benutzerdefinierten Feldausschnitt so ändern:

 function custom_field_excerpt() { global $post; $text = get_field('description'); if ('' != $text) { $text = strip_shortcodes($text); $text = apply_filters('the_content', $text); $text = str_replace(']]>', ']]>', $text); $excerpt_length = 15; $excerpt_more = apply_filters('excerpt_more', ' '); $text = wp_trim_words($text, $excerpt_length, $excerpt_more); } if (str_word_count($text) > 15) return apply_filters('the_excerpt', $text); return apply_filters('the_excerpt', $text) . "
...Read More
" }