我正在尝试创建一个短代码来将 CSS 样式属性添加到页面。我将以下代码添加到主题的functions.php中。
function add_style( $atts, $content = null ) {
return '<style>' . $content . '</style>';
}
add_shortcode( 'style', 'add_style' );
在页面编辑器中我将其用作:
[style]
.image-main{
border:5px solid lightblue;
}
[/style]
在渲染的页面上,它输出到:
<style>
<br />
.image-main{<br />
border:5px solid lightblue;<br />
}<br />
</style>
如何设置短代码来删除<br />
当我有多行内容时?
插入 br 标签是因为 WordPress 处理内容的默认顺序 - wpautop(将换行符转换为 p 或 br 标签的函数)在处理短代码之前运行。
解决方案:
更改 wpautop 的执行优先级,使其在处理 shotcodes 之后而不是之前执行。将其添加到您的functions.php 文件中:
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);
现在,您的短代码块中将不再添加额外的 p 或 br 标签。事实上,根本不会将换行符自动转换为 p 和/或 br 标记。因此,如果您希望将合法的换行符转换为 p 和 br 标记,则需要从短代码函数内部运行 wpaautop,例如:
function bio_shortcode($atts, $content = null) {
$content = wpautop(trim($content));
return '<div class="bio">' . $content . '</div>';
}
add_shortcode('bio', 'bio_shortcode');
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)