提问者:小点点

在WordPress中创建短代码,禁用包装内容上的wpautop()?


希望将图形放置在与h3标题相同的行/行上,如下所示:

<h3 style="display:inline;">Graphic Advantage</h3><img style="max-width: 50px; width: 100%;" src="https://sgdesign.com/images/SGDadvantage.png" alt="SGD Advantage"  />

首先,我使h3显示=内联,所以它只占用它的实际宽度,而不是整行。我可以将h3和图形向左浮动,然后进行清除修复,但这似乎有些过分。目标是简单地将h3和小图形放在同一行上。

由于WordPress自动格式化函数wpautop()会自动设置段落标记,因此失败

但是,当次要内容(图形)被包装在一个短代码中时,这是可行的:

<h3 style="display: inline;">Advantage SGDesign</h3>
[tooltip text="Throughout our site you'll see this icon that will help identify significant differences between SGDesign and other companies"]<img style="max-width: 50px; width: 100%;" src="https://sgdesign.com/images/SGDadvantage.png" alt="SGD Advantage"  />[/tooltip]

问题:在某种类型的包装标签中阻止wpautop()函数的最佳实践?

可能会创建一个空的短代码,比如

function no_wp_autoformat_shortcode() {
return null;
}
add_shortcode('nowpautop', 'no_wp_autoformat_shortcode');

这将起作用,但现在它隐藏了已包装的

所以问题变成了如何在被短码包裹时显示图像?

<h3 style="display:inline;">Graphic Advantage</h3>[nowpautop]<img style="max-width: 50px; width: 100%;" src="https://sgdesign.com/images/SGDadvantage.png" alt="SGD Advantage"  />[/nowpautop]

共2个答案

匿名用户

有一种方法可以停止Wordpress编辑器自动添加

是的,在我看来,使用短代码似乎很好,而不必覆盖Wordpress的核心功能

匿名用户

通过创建使用链接文件src作为属性的短代码来解决。这里的详细信息:如何创建一个什么都不做的Wordpress短代码?

主要的问题是,短代码会替换内容,因此不能简单地“包装”元素以创建禁用自动格式化wpautop()函数所需的效果。