gpt4 book ai didi

php - 简码内容 wordpress 中的 p 标签格式

转载 作者:可可西里 更新时间:2023-11-01 12:38:10 25 4
gpt4 key购买 nike

我知道这个问题肯定已经被问过一百次了,但我一直在尝试一些我能找到的解决方案,但似乎都没有用。

我有一个 shortcode包装内容:

[important_note]Lorem ipsum dolor sit amet, consectetur adipiscing elit.

Nam vel velit at ex congue aliquet.[/important_note]

我在 functions.php 中使用以下简码函数:

function important_note( $atts, $content = null ) {
return '<div class="imp-note">'.$content.'</div>';
}
add_shortcode("important_note", "important_note");

这是生成的 html 代码:

<div class="imp-note">
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
<p></p>
<p>Nam vel velit at ex congue aliquet.</p>
</div>

主要问题是空的 <p>我一直在尝试使用此处提到的这些解决方案来解决这个问题:remove empty <p> tags from wordpress shortcodes via a php functonGithub然而这似乎解决了<p>包装 shortcode不是 shortcode 的内容.

第一行没有任何 <p>包装也有点奇怪,这让我觉得我应该向短代码函数添加代码?

在此先感谢您的帮助。

更新

好的,这段代码看起来可以解决问题:

remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 99);
add_filter( 'the_content', 'shortcode_unautop',100 );

如下所示:https://stackoverflow.com/a/21460343/1275525在这里:http://www.paulund.co.uk/remove-line-breaks-in-shortcodes (将 wpautop() 删除到仅在短代码中的内容)

AND简码中的内容必须是这样的,而不是我上面显示的那样:

[important_note]
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nam vel velit at ex congue aliquet.
[/important_note]

内容与简码标签是分开的。该短代码输出以下 html:

<div class="imp-note">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Nam vel velit at ex congue aliquet.</p>
</div>

将确认它是否适用于所有简码...

最佳答案

正如我在我的问题“更新 functions.php 中的这段代码”中提到的那样做的伎俩:

remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 99);
add_filter( 'the_content', 'shortcode_unautop',100 );

如本问题的答案所示:https://stackoverflow.com/a/21460343/1275525和这篇文章:http://www.paulund.co.uk/remove-line-breaks-in-shortcodes (向下滚动到: 删除 wpautop() 到仅在短代码中的内容)

将短代码中的内容与短代码标签分开也很重要,否则第一行将不会包含在 <p> 中。标签:

[important_note]
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Nam vel velit at ex congue aliquet.
[/important_note]

HTML 输出:

<div class="imp-note">
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit.</p>
<p>Nam vel velit at ex congue aliquet.</p>
</div>

我检查了整个 WordPress 站点的简码,所有简码都具有正确的格式。希望这对外面的一些人有所帮助 :)

关于php - 简码内容 wordpress 中的 p 标签格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29862732/

25 4 0