Чтобы вывести часть текста поста, если у него нет миниатюры в WordPress, необходимо использовать функции, доступные в рамках платформы.
Первым шагом я рекомендую проверить наличие миниатюры для текущего поста, используя функцию has_post_thumbnail()
. Если миниатюра отсутствует, то можно использовать функцию get_the_excerpt()
для получения сокращенного текста поста.
Вот пример кода, который можно использовать в файле шаблона (single.php
или content.php
), чтобы реализовать такую функциональность:
<?php if (has_post_thumbnail()) { // Выводим миниатюру the_post_thumbnail(); } else { // Выводим сокращенный текст поста the_excerpt(); } ?>
В этом примере мы используем функцию the_post_thumbnail()
, чтобы вывести миниатюру, если она присутствует. Если миниатюра отсутствует, то мы используем функцию the_excerpt()
, чтобы вывести сокращенный текст поста.
Может возникнуть ситуация, когда у вас посты не будут иметь заданных сокращенных текстов. В таком случае можно воспользоваться функцией wp_trim_words()
для вывода определенного количества слов из основного текста поста.
Вот пример кода, который можно использовать вместо вызова функции the_excerpt()
, если сокращенные тексты не заданы:
<?php if (has_post_thumbnail()) { // Выводим миниатюру the_post_thumbnail(); } else { // Выводим определенное количество слов из основного текста поста echo wp_trim_words(get_the_content(), 50, '...'); } ?>
В этом примере мы использовали функцию wp_trim_words()
, чтобы вывести только 50 слов из основного текста поста, если миниатюра отсутствует.
Надеюсь, данный ответ был полезен и помог вам решить вашу задачу в WordPress.