我搜索了很多,但没有找到我的问题的确切答案。所以我在这里发布了一个新的。如果有人知道怎么做,请回答并解释。
假设我有一个shortcode函数
function some_random_function($atts, $content = null) {
extract(shortcode_atts(array(
\'text\' => null
), $atts));
$return_string = \'<div class="some-class">\'. $text . $content .\'</div>\';
return $return_string;
}
add_shortcode( \'example\', \'some_random_function\' );
我知道这个函数没有任何意义
$text
在那里我可以简单地使用
$content
. 但这只是一个简单的函数,不要判断它。
Now the issue现在如果我通过[example text="lorem ipsum"]Lets roll[/example]
短代码可以很好地工作,因为它们都是普通字符串。但如果我通过[example text="<a href="http://example.com">lorem</a> ipsum"]Lets roll[/example]
这行不通。
那么,有人能告诉我如何在短代码参数中传递html,以便它们正常工作吗。
最合适的回答,由SO网友:Przemek Maczewski 整理而成
您在两个不同的上下文中使用了相同的引号字符。您应该按照以下方式编写短代码:
[example text=\'<a href="http://example.com">lorem</a> ipsum\']Lets roll[/example]
然后,在短代码输出上显示“unescape”HTML实体:
$return_string = \'<div class="some-class">\'. html_entity_decode($text) . $content .\'</div>\';