Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wordpress 短代码输出添加<;br/>;新线之后_Wordpress_Shortcode - Fatal编程技术网

Wordpress 短代码输出添加<;br/>;新线之后

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

我正在尝试创建一个短代码来向页面添加CSS样式属性。我在我的主题的functions.php中添加了以下代码

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');