最重要的是,我已经找到了一种方法来完成这项工作。但它仍然存在。
所以我使用主题广告素材,我已经联系表单,使用联系表格7完成。并且要在正确的位置显示它,它需要放在小部件中。
我已将表单的短代码插入文本小部件,短小部件的小部件以及Contact Form 7的小部件中。
对于每种情况,输入和标签都包含在p
标签中,我猜它会制动提交功能。
所以我尝试了一些功能来禁用此功能。
在我的function.php中,最后:
//* Disable automatic p tag insertion
remove_filter( 'the_content', 'wpautop' );
remove_filter('the_excerpt', 'wpautop');
add_filter( 'the_content', 'disable_wpautop_cpt', 0 );
function disable_wpautop_cpt( $content ) {
'your_cpt_slug' === get_post_type() && remove_filter( 'the_content', 'wpautop' );
return $content;
}
在我的wp-config.php中,最后也是:
/** Disable automatic p tag insertion */
define( 'WPCF7_AUTOP', false );
此外,我添加了一个插件,用于在表单所在的页面上禁用WP的这个功能。
但标签仍在那里。帮助
编辑:添加了屏幕。
答案 0 :(得分:0)
在functions.php文件
中添加 function reformat_auto_p_tags($content) {
$new_content = '';
$pattern_full = '{(\[raw\].*?\[/raw\])}is';
$pattern_contents = '{\[raw\](.*?)\[/raw\]}is';
$pieces = preg_split($pattern_full, $content, -1, PREG_SPLIT_DELIM_CAPTURE);
foreach ($pieces as $piece) {
if (preg_match($pattern_contents, $piece, $matches)) {
$new_content .= $matches[1];
} else {
$new_content .= wptexturize(wpautop($piece));
}
}
return $new_content;
}
remove_filter('the_content', 'wpautop');
remove_filter('the_content', 'wptexturize');
add_filter('the_content', 'reformat_auto_p_tags', 99);
add_filter('widget_text', 'reformat_auto_p_tags', 99);
然后在你的帖子编辑器上用原始短代码包装你的联系表格7短代码 e.g。
[raw][contact-form-7 id="1" title="Contact Us"][/raw]
答案 1 :(得分:0)
使用wpautop过滤器删除内容中的自动p标记或the_excerpt
<?php wpautop( $foo, $br ); ?>
示例:
remove_filter( 'the_content', 'wpautop' );
remove_filter( 'the_excerpt', 'wpautop' );
答案 2 :(得分:0)
您也可以使用JS。上面的代码将帮助您从页面中删除所有空的p标签
jQuery('p:empty').remove();