返回包含在快捷码中的未格式化内容

时间:2013-08-09 作者:Toc

我写了一个简短的代码,如下basic 有关Wordpress Codex的说明:

function myshortcode( $atts, $content = null ) {
    extract( shortcode_atts( array(
        ...,
    ), $atts ) );
    return some_html _code_here . $content;
}
当我把

[myshortcode]
this 
is 
a 
test
content
[/myshortcode]
在一篇帖子中,我获得了以下输出:

this <br />
is <br />
a <br />
test <br />
content <br />
如何避免插入br/标签?

3 个回复
最合适的回答,由SO网友:Charles Clarkson 整理而成

这个<br /> 标签正在由添加到内容中wpautop() 作用如果在运行shortcode之前运行它,它们将不在那里。它已添加到\\wp-includes\\default-filters.php 默认优先级为10.

add_filter( \'the_content\', \'myshortcode\', 1 );

function myshortcode( $atts, $content = null ) {
    return $content;
}
wpautop() 除此之外,还可以添加其他标记<br /> 标签。

SO网友:s_ha_dum

function myshortcode( $atts, $content = null ) {
  return strip_tags($content,\'br\');
}
add_shortcode(\'myshortcode\',\'myshortcode\');
但我不清楚,如果你不想换行,为什么要在第一时间添加新行。

SO网友:birgire

你可以试试这个:

add_shortcode( \'myshortcode\', \'myshortcode_callback\' );

function myshortcode_callback( $atts, $content = null ) {
    return str_replace( \'<br />\', \'\', $content );
}   
只需移除<br /> 输出中的标记。如果要去除所有HTML标记,可以使用strip_tags() 相反

结束

相关推荐

shortcode for logo image

我有以下代码用于使用短代码图像显示图像,但短代码是[image name=logo] 从名为logo的/uploads/目录加载图像。巴布亚新几内亚;更改名称,我可以像狗一样加载不同的图像。png项目符号。png等。名称后写入=名称文件。所以我的问题是如何让函数在短代码上编写[logo] 我可以得到图像标志。巴布亚新几内亚function image_shortcode($atts, $content = null) { extract( shortcode_atts( array(