删除WordPresspost中的<p>和<br/>标签

每当我在WordPresspost页面发布一些内容时,它会显示一些段落标签,如<p><br/> <p> 这在输出中显示出一些额外的空间。 那么有没有解决办法呢? 如何删除所有的标签?

这是因为WordPress的wpautop 。 只需在主题的functions.php文件中添加以下代码行即可

remove_filter( 'the_content', 'wpautop' );

remove_filter( 'the_excerpt', 'wpautop' );

欲了解更多信息: http : //codex.wordpress.org/Function_Reference/wpautop

我不会推荐使用remove_filter选项,因为它会在模板中的任何地方删除标签和标记。

最好的方法是通过PHP消毒你的string

你可以使用php函数strip_tags去除无用的标记: echo strip_tags(get_the_excerpt()); // Get the raw text excerpt from the current post echo strip_tags(get_the_excerpt()); // Get the raw text excerpt from the current post

要么

echo strip_tags(category_description()); // Get the raw text cat desc from the current cat page

这将调用它时从当前的WordPress的post中删除所有的HTML标签。

您还可以添加修剪function,以防下列情况: echo trim(strip_tags(get_the_excerpt())); // Get the raw text excerpt from the current post echo trim(strip_tags(get_the_excerpt())); // Get the raw text excerpt from the current post

要么

echo trim(strip_tags(category_description())); // Get the raw text cat desc from the current cat page

这是理想的获得meta =“description”的原始文本和HTML标记不推荐的标题。

希望能帮助到你

尝试这个

 $my_postid = $post->ID; $content_post = get_post($my_postid); $content = $content_post->post_content; $content = apply_filters('the_content', $content); $content = strip_tags($content, '<p><br/>'); echo $content; 

移除wpautopfilter不是最灵活的解决scheme。 如果您正在寻找一页一页的解决scheme,或通过后张贴,你可以使用这个插件:

https://wordpress.org/plugins/dont-muck-my-markup/

它会在每个post/页面上添加一个checkbox,以便您select是否禁用该特定页面的core-Wordpress行为。

当你想发布一些HTML代码,并且自动生成的<br><p>搞乱了你精心devise的devise时,这是特别有用的。

该插件还具有全局选项,因此您可以在所有页面/post上默认closures此行为。

另一个插件是https://wordpress.org/plugins/preserve-code-formatting/但是我只尝试了我所描述的插件。;

在编辑器初始化之前,使用这段代码去除<p></p>

 function tinymce_remove_root_block_tag( $init ) { $init['forced_root_block'] = false; return $init; } add_filter( 'tiny_mce_before_init', 'tinymce_remove_root_block_tag' ); 

使用这个$ editor = wp_filter_nohtml_kses($ _ POST ['editor1']);

因为这里接受的答案在WP 4.8.1中不适用于我,所以我发布了一个解决方法,可以帮助我。 我只需要添加一个类到WordPress,WordPress不会删除它。

 <p class="whatever">