Удалить шорткод [...] из предварительного просмотра блога


При использовании шорткода (плагина и т.д.) в верхней части страницы шорткод плагина отображается в предварительном просмотре. Есть ли способ скрыть текст в скобках [подобный текст] из предварительного просмотра на странице типа "Последние публикации"?

В следующем примере показан шорткод в предварительном просмотре записи в блоге:

Example of Brackets within Preview

Author: beta208, 2015-10-15

4 answers

Вы можете сделать это с помощью PHP. Просто удалите часть, где находится get_content(), и добавьте это:

<?php 
            $content=get_the_content();
            $content = preg_replace('#\[[^\]]+\]#', '',$content);
            echo apply_filters('the_content', $content);
        ?>

Это регулярное выражение, добавленное внутри содержимого. Это регулярное выражение удалит все теги внутри содержимого.

 2
Author: Ivijan Stefan Stipić, 2015-11-27 10:25:36

Используйте это вместо этого, если вы не хотите каждый раз вручную записывать выдержки:

function wpse205632_filter_excerpt( $excerpt ) {

    $excerpt = strip_shortcodes( $excerpt );

    return $excerpt;
}
add_filter( 'get_the_excerpt', 'wpse205632_filter_excerpt' );  

Просто добавьте этот фрагмент в functions.php, и все готово.

 4
Author: Abhik, 2015-11-27 10:41:24

Отрывок не был показан, но сделал бы свое дело. На странице редактирования публикации доступ к "Параметрам экрана" и выбор "Отрывка" позволяет вручную заполнить отрывок.

 0
Author: beta208, 2015-10-15 17:17:26

Это то, что я использовал, чтобы получить контент в виде отрывка с ограниченным количеством слов и исключить короткие коды из Visual Composer

<?php $content=get_the_content(); $content = preg_replace('#\[[^\]]+\]#', '',$trimmed_content = wp_trim_words($content, 20)); echo apply_filters('the_content', $content, $trimmed_content); ?
 0
Author: Aleksandrs Krasnovskis, 2019-02-05 11:53:49