Ссылка «Читать дальше» не отображается, когда длина сообщения находится под длиной выдержки

У меня есть сообщения с очень разными длинами сообщений.

Иногда есть очень длинные посты, иногда очень короткий комментарий к книге.

Я установил длину выдержки до 50 слов, но когда сообщение длится 25 слов, ссылка «Читать дальше» не отображается.

Есть идеи?

Причиной является следующая проверка функции wp_trim_words() :

 if ( count( $words_array ) > $num_words ) { array_pop( $words_array ); $text = implode( $sep, $words_array ); $text = $text . $more; } else { $text = implode( $sep, $words_array ); } 

Поэтому вы можете попробовать следующее:

 add_filter( 'wp_trim_words', function( $text, $num_words, $more ) { return $more === mb_substr( $text, -1 * mb_strlen( $more ) ) ? $text : $text . $more; }, 11, 3 ); 

добавить $more ссылку $text , если она отсутствует.

Но я думаю, что ваши читатели могут быть разочарованы, когда они нажимают ссылку на короткие сообщения и обнаруживают, что нет ничего нового для чтения 😉

Я использую плагин Post Teaser на своем сайте. Просто установите и установите, сколько слов вы хотите показать на странице; ссылка внизу открывается полный пост.

У меня была аналогичная проблема, и я решил ее:

  • отключить ссылку readmore

     add_filter( 'the_content_more_link', 'modify_read_more_link' ); function modify_read_more_link() { return ''; } 
  • добавление ссылки в шаблон

 echo '<a class="more-link" href="'. get_permalink().'"> Подробнее ...';