Вывести часть текста поста если нет миниатюры?

Чтобы вывести часть текста поста, если у него нет миниатюры в 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.