Как исключить шорткоды из цитат

Как исключить шорткоды из цитат | n-wp.ru
Примеры фильтров, исключающих текст шорткодов из текста цитат. Такие фильтры будут не лишними, если вы часто используете шорткоды, которые могут попадать в содержимое цитат на главной странице блога.
👍 Научим бесплатно правильно создавать сайты на WordPress. Подробнее →

При выводе цитаты поста с помощью функции the_excerpt текст цитаты выводится вместе с исходными кодами шорткодов, что выглядит не очень красиво. Можно исключить вывод текста любого шорткода в содержимом цитаты с помощью простого фильтра.

Например, нужно исключить вывод текста шорткода

[/embed]

из текста цитаты. Для этого добавьте в файл functions.php:

add_filter( 'the_excerpt', 'remove_embed_shortcode_from_excerpt' );
function remove_embed_shortcode_from_excerpt( $excerpt ) {
	return preg_replace ('/<a href="http://]*](.*)">]*](.*)</a>/', '$1', $excerpt); }

По аналогии можно создать фильтры и для других шорткодов. Фильтр для шорткода

[img]
add_filter( 'the_excerpt', 'remove_img_shortcode_from_excerpt' );
function remove_img_shortcode_from_excerpt( $excerpt ) {
	return preg_replace ('/[img[^]]*](.*)[/img]/', '$1', $excerpt);
}

Подобные фильтры будут полезны, если вы выводите цитаты из предыдущих и следующих постов, цитаты на главной странице блога.

Создай свой первый сайт на WordPress

tiaurus

Автор n-wp.ru — блога о WordPress для новичков.

Оцените автора
Добавить комментарий