Wordpress 短代码输出添加<;br/>;新线之后
我正在尝试创建一个短代码来向页面添加CSS样式属性。我在我的主题的functions.php中添加了以下代码Wordpress 短代码输出添加<;br/>;新线之后,wordpress,shortcode,Wordpress,Shortcode,我正在尝试创建一个短代码来向页面添加CSS样式属性。我在我的主题的functions.php中添加了以下代码 function add_style( $atts, $content = null ) { return '<style>' . $content . '</style>'; } add_shortcode( 'style', 'add_style' ); 在渲染页面上,它输出到: <style> <br /> .image-m
function add_style( $atts, $content = null ) {
return '<style>' . $content . '</style>';
}
add_shortcode( 'style', 'add_style' );
在渲染页面上,它输出到:
<style>
<br />
.image-main{<br />
border:5px solid lightblue;<br />
}<br />
</style>
.image main{
边框:5px纯色浅蓝色;
}
当我有多行内容时,如何设置快捷码来删除
?我发现解决问题的方法是使用stru replace()替换remove“
”
代码>
函数添加样式($atts,$content=null){
$pure_content=str_replace(“
,”“,$content”);
返回“.$pure_content.”;
}
添加快捷码(“样式”、“添加样式”);
插入br标记是因为WordPress处理内容的默认顺序–wpautop(将换行符转换为p或br标记的函数)在处理短代码之前运行
解决方案:
更改wpautop的执行优先级,使其在处理快照代码之后而不是之前执行。在functions.php文件中添加以下内容:
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);
现在,在您的快捷代码块中不会添加额外的p或br标记。事实上,根本不会自动将换行符转换为p和/或br标记。因此,如果您希望将合法的换行符转换为p和br标记,则需要从快捷码函数内部运行wpautop,例如:
function bio_shortcode($atts, $content = null) {
$content = wpautop(trim($content));
return '<div class="bio">' . $content . '</div>';
}
add_shortcode('bio', 'bio_shortcode');
函数bio_短码($atts,$content=null){
$content=wpautop(trim($content));
返回“.$content.”;
}
添加_短代码(“bio”、“bio_短代码”);
将代码张贴在短代码后面。我该怎么做?只是不要使用结尾[/style]?我是问你是否可以发布你编写的处理问题中自定义短代码的PHP。你知道如何编写jQuery吗?我添加了PHP。是的,我知道如何编写jQuery。
remove_filter( 'the_content', 'wpautop' );
add_filter( 'the_content', 'wpautop' , 12);
function bio_shortcode($atts, $content = null) {
$content = wpautop(trim($content));
return '<div class="bio">' . $content . '</div>';
}
add_shortcode('bio', 'bio_shortcode');