如何将短代码和内容从页面中分离出来?

时间:2019-02-15 作者:beginner

我有一个页面,上面有联系人表单的内容和快捷码。我想在一个div中显示页面的内容,在另一个div中显示短代码(这意味着表单应该在另一个div中呈现)。如何实现这一点?我试过了<?php remove_filter( \'the_content\', \'do_shortcode\', 11 ); the_content(); add_filter( \'the_content\', \'do_shortcode\', 11 );*/ ?>

仅用于筛选内容。。。但它会按原样显示短代码。([contact-form-7 id=“72”title=“contact-form 1”html\\u class=“col-lg-8 col-md-8 col-sm-12 col-12 dose contact form row”])。如何ffx这个?

1 个回复
最合适的回答,由SO网友:beginner 整理而成

我找到了解决办法。我使用了以下代码,它对我有效。为了从内容中删除短代码,我使用了<?php $content = get_the_content(); $content = preg_replace("/\\[.*]/m", " ", $content);
$content = apply_filters(\'the_content\', $content); $content = str_replace(\']]>\', \']]>\', $content); echo $content; ?>

下面的代码只从帖子内容中获取短代码 <?php $pattern = get_shortcode_regex(); $matches = array(); preg_match_all("/$pattern/s", get_the_content(), $matches);
echo preg_replace_callback( "/$pattern/s", \'do_shortcode_tag\', $matches[0][0] ); ?>

相关推荐

Do not parse shortcode in CPT

我有一个CPT,我不想在它的内容中解析shortcode(使用\\u content()函数)。我可以使用remove\\u filter删除短代码的默认过滤器。但我如何确定我只是为了我想要的CPT而删除过滤器?我有一个在页面中使用的快捷码[我的自定义快捷码]。此短代码使用WP\\U查询和输出CPT帖子。我不想在这篇CPT文章中分析短代码。我是否应该在短代码解析挂钩之前用虚拟内容更改短代码,并在之后替换回来?或者我应该在我的CPT输出之前删除短代码的默认过滤器,然后在我的CPT输出完成后再次添加短代码的默