Модератор
Юрій
(@yube)
Вставляйте в записи тег <!—more—>, в виз.редакторе есть специальная полезная кнопка. А можно использовать плагин типа auto-more или аналогичный, который сделает это за Вас, но на свое усмотрение. Или использовать в шаблоне вместо the_content() вызов the_excerpt(), который обрежет пост после 40 (если не ошибаюсь) слов или выведет поле «цитата», если оно заполнено. А можно это все комбинировать. Вот такой получился многословный ответ на простой вопрос 🙂
благодарю, очень помогло. Оказываеться все так просто было))) А я в код полез, стал искать незнамо что)))
О спасибо мне тоже помогло…)))
Подскажите пожалуйста.
Если я правильно понял the_excerpt() выводит только текст, а мне хотелось бы выводить в «короткой части поста» также картинки. В связи с чем скорее всего придется пользоваться the_content(). Но есть небольшая проблема для меня, в том, что ВордПресс вставляет ссылку «читать далее» в конце «короткой части поста». Как вывести эту ссылку в том месте где мне нужно. Например сначала выводится «короткая часть поста» затем косметическое оформление поста и только после этого ссылка «читать далее».
Модератор
Юрій
(@yube)
Кажется, так:
<?php the_content('') ?>
художественный свист
<a href="<?php the_permalink() ?>">Читать далее</a>
Спасибо.
ммм но при таком коде «читать далее» будет у каждого поста.
А вот какие условия надо задать чтобы выводить «читать далее» только в тех постах когда есть тег «more». Ведь здесь не надо проверять пусто ли значение в the_excerpt(), а вот что надо проверять не могу осознать (.
Друзья, может все таки кто может подсказать каким образом «отсеивать» посты с тегом «more» и без него. Возможно сейчас мне это уже и не понадобится, но интерес то остался :).
Atrax
(@atrax)
Ethical engineer
Что значит «отсеивать»? Какую именно логику вы хотите реализовать?
Как вариант:
<?php if ( preg_match('/<!--more(.*?)?-->/', $post->post_content) ) : ?>
<a href="<?php the_permalink() ?>">Читать далее</a>
<?php endif; ?>
Здорово! Спасибо!
Если я правильно понял этот код сканирует текст поста на наличие текста «<—more—>» и если находит его то выводит соответственно ссылку на пост?
Правда при таком коде получается он добавляет ссылку и в случае просмотра самого поста. На интуиции подкорректировал его да такого состояния
<?php if (!is_single()) {
if ( preg_match('/<!--more(.*?)?-->/', $post->post_content))
{echo '<a href="';
the_permalink();
echo '"> Читать далее...</a>';
}}
?>
Корректна ли такая редакция?
Собственно у меня она работает, но если честно то изучать Html начал только в сентябре, в октябре дошел до CSS и теперь вот познаю азы PHP и практически ничего о функциях не знаю. Товарищи ГУРУ проверьте пожалуйста код на корректность. А то мало ли получу критику от хостера к примеру 🙂
Спасибо!
Для Atrax, под словом «отсеивать» имел ввиду при выводе списка постов, тем постам, у которых представлена только «короткая часть» добавлять ссылку «читать далее…», а тем, которые представлены полностью (какой-нибудь короткий постик из трех предложений) не добавлять ссылки соответственно.
Интуиция подсказала совершенно верно 🙂