禁止 WordPress 自动添加分段标签<p>

我发现我好像变了,原来每当人成长的时候都会改变。生命本该有意义,我们绝不是白来一场。

WordPress 有个自动分段机制,只要你在可视化下敲击一次回车(文本模式敲击两次回车),就会在前台html自动添加分段标签<p>,其实这个功能也是很方便的,但是有些朋友就是不习惯,或者在某些情况下干扰了自己的文章内容格式。

这个自动分段机制,使用的是 wpautop() 函数,只会对文章内容和摘要生效,如果你希望禁用它,可以将下面的代码添加到主题的 functions.php 文件即可:

1
2
remove_filter( 'the_content', 'wpautop' ); //正文
remove_filter( 'the_excerpt', 'wpautop' ); //摘要

remove_filter( 'the_content', 'wpautop' ); //正文 remove_filter( 'the_excerpt', 'wpautop' ); //摘要

但是这样一来,就会使所有文章类型的文章都失去自动分段功能,要解决这个问题,我们可以在主题的 functions.php 添加下面的代码:

1
2
3
function needRemoveP() {
	remove_filter('the_content', 'wpautop'); 
}

function needRemoveP() { remove_filter('the_content', 'wpautop'); }

然后在你想去掉功能的地方,比如想让文章去掉这个默认的功能,则在single.php里添加:

1
<?php add_action ('loop_start', 'needRemoveP'); ?>

<?php add_action ('loop_start', 'needRemoveP'); ?>

倡萌补充:

其实我们还有更加方便的方法,不需要修改 single.php 文件,而是通过条件标签来判断,在主题 functions.php 使用下面的代码:

1
2
3
4
5
6
function needRemoveP() {
	if ( get_post_type() == 'post'){ // 如果文章类型为 post
		remove_filter('the_content', 'wpautop'); 
	}
}
add_action ('loop_start', 'needRemoveP');

function needRemoveP() { if ( get_post_type() == 'post'){ // 如果文章类型为 post remove_filter('the_content', 'wpautop'); } } add_action ('loop_start', 'needRemoveP');

以上代码的第 2 行就限定了文章类型为 post 的文章才会取消自动分段,你可以根据自己的需要修改文章类型。

本文禁止 WordPress 自动添加分段标签&lt;p&gt;到此结束。在苦也要坚持,在累也要拼搏。小编再次感谢大家对我们的支持!

标签: amp WordPress