Wordpress:如果找到短代码,则编辑HTML

时间:2017-03-23 12:02:21

标签: wordpress

我需要删除the_content()中的短代码并将其插入另一个html结构中。

例如,如果帖子是

<h1>Title</h1>
<p>This is the content [shortcode id="50"]</p>

我需要渲染为

<h1>Title</h1>
<p>This is the content</p>

<div class="new-div">
[shortcode id="50"]
</div>

这是主题中的functions.php内的代码。

它删除了所有内容,而不仅仅是短代码。

function gallery_exists() {

    global $post;

    $content = $post->post_content;

    if( is_a( $post, 'WP_Post' ) && has_shortcode( $content, 'gallery') ) {

        $pattern = get_shortcode_regex();

        if (   preg_match_all( '/'. $pattern .'/s', $content, $matches ) ) {

            function remove_gallery() {

                $gallery = $matches[0][0];

                $content = strip_shortcodes($content,$gallery);
                $content = unescape_invalid_shortcodes( $content );

                return $content;

            }

            add_filter('the_content', 'remove_gallery');


        }



    }
}

add_action('wp','gallery_exists');

0 个答案:

没有答案