Рубрика: Записи
Как получить текст записи до и после тега <!—more—>?
Иногда вебмастерам надо не только определить наличие тега <!--more--> в записи, но и произвести какие-либо действия именно с определенной частью записи - вводной или основной. Для решения подобной задачи можно воспользоваться функцией get_extended, которая при использовании возвращает массив из двух частей записи (до тега <!--more--> и после него). Использовать функцию просто:
<?php $content = get_post_field('post_content', get_the_ID()); $content_parts = get_extended($content); echo $content_parts['main']; //вывод записи до тега more echo '<p>реклама</p>'; //вывод рекламы (просто пример) echo $content_parts['extended']; //вывод остальной части записи ?> |
Это немного надуманный пример, поэтому рассмотрим более реальную задачу.
Как определить наличие в записи тега <!—more—>?
Перед вебмастерами иногда возникает задача определения в тексте записи наличия тега <!--more--> (кнопка "Вставить тег «Далее»" в визуальном редакторе), который служит для разделения записи на вводную и основную части. Определить разделение записи тегом <!--more--> можно с помощью своего собственного условного тега has_more, который надо добавить в файл functions.php вашей темы:
//условный тег проверки more в записи start function has_more() { global $post; if (empty($post)) return; return (bool) preg_match('/<!--more(.*?)?-->/', $post->post_content); } //условный тег проверки more в записи end |
Использовать данный тег в файлах вашей темы очень просто. Например, вот так:
Как удалить префиксы «Защищено» и «Личное» из заголовков?
При установке видимости записей в "Защищено паролем" и "Личное" движок автоматически добавит к заголовкам таких записей префиксы "Защищено:" и "Личное:". Эти префиксы можно или удалить или изменить на свой текст. Для этого вам необходимо добавить в файл functions.php вашей темы следующий код:
Как добавить произвольные типы записей в архивы?
По умолчанию произвольные типы записей не выводятся в архивах сайта (архивах по рубрикам и архивах по меткам). Данную ситуацию можно исправить с помощью следующего кода, добавленного в файл functions.php вашей темы:
//произвольные типы записей в архивах start function wph_custom_types_archive($query) { if(is_category() || is_tag() && empty($query->query_vars['suppress_filters'])){ $query->set('post_type', array( 'post', 'custom_type1', 'custom_type2' )); return $query;} } add_filter('pre_get_posts', 'wph_custom_types_archive'); //произвольные типы записей в архивах end |
Где 'custom_type1' и 'custom_type2' это ваши произвольные типы записей.
Как изменить длину цитаты записи?
По умолчанию длина цитаты записи ограничена первыми 55 словами (при автоматическом создании цитаты, когда она вручную не указана). В некоторых темах цитаты используются при выводе страниц рубрик или архивов, поэтому если вас не устраивает размер цитаты по умолчанию, то вы можете его легко изменить с помощью следующего кода, вставленного в файл functions.php вашей темы:
Как отключить автоформатирование текста записей?
WordPress позиционируется как движок "для домохозяек", которые вовсе не обязаны знать html-разметку. Поэтому WordPress сам форматирует текст записей, расставляя теги параграфов, выполняя типографские правки и т.д. Такой способ "облегчить" жизнь вебмастеров вызывает множество споров. Попробуйте, например, в тексте записи напечатать символ " (так называемый знак дюйма) и опубликуйте запись. В опубликованном виде у вас будут выведены кавычки-елочки «. Единственный способ вывести символ " это на вкладке "Текст" редактора напечатать его html-сущность ", опубликовать запись и больше никогда не переключаться на визуальный режим редактора (он заменит html-сущность на сам символ, который в опубликованном виде превратится в символ кавычек-елочек).