Записи с тегом "форматирование текста"

Заменяем в записях все вхождения указанного текста

Представим, что перед нами стоит задача во всех записях WordPress-блога разом выделить определенное слово жирным или поставить на какое-то слово или словосочетание ссылку.

Редактировать в таком случае каждый пост будет очень нелогично и затратно по времени.

Задача решается очень простым образом – путем использования простейшей PHP-функции для замены текста:

function replace_text($text) {
	$text = str_replace('WordPress', '<strong>WordPress</strong>', $text);
	$text = str_replace('WordPress хаки', '<a href="#">WordPress хаки</a>', $text);
	return $text;
}
add_filter('the_content', 'replace_text');

Эту функцию необходимо поместить в файл functions.php вашего шаблона.

В вышеуказанной функции я показал пример: все вхождения слова “WordPress” будут выделены жирным, а все вхождения словосочетания “WordPress хаки” превратятся в ссылку.

По аналогии можно делать одновременно сколько угодно таких замен.

Комментариев: 7
(голосов: 1, средняя оценка: 5.00 из 5)
Loading ... Loading ...

Возвращаем форматирование текста поста при использовании функции get_the_content()

В одном из недавних заказов у меня была задача – вырезать определенный контент из содержимого поста при его выводе на главной. Для подобных вещей в WordPress предусмотрена функция get_the_content().

Чтобы было понятно, о чем речь, приведу пример ее использования:

$content = get_the_content();
$content = preg_replace('/вырезаем какой-то кусок текста/i', '', $content);
echo $content; // выводим отфильтрованный контент.

Однако при этом есть один минус – в выводимом таким образом контенте отсутствуют HTML-теги, которые есть в оригинале поста, т.е. к примеру, исчезают отступы между абзацами.

Задача решается применением следующей функции (ее необходимо поместить в файл functions.php):

function get_the_content_with_formatting ($more_link_text = '') {
	$content = get_the_content($more_link_text);
	$content = apply_filters('the_content', $content);
	// тут какие-то манипуляции с переменной $content
	echo $content;
}

Ну а в шаблоне вместо этого кода:

<?php the_content('Читать далее &raquo;'); ?>

использовать такой:

<?php get_the_content_with_formatting('Читать далее &raquo;'); ?>
Комментариев: 5
(голосов: 2, средняя оценка: 5.00 из 5)
Loading ... Loading ...