在WordPress快捷代码参数中传递HTML

时间:2015-03-14 作者:iSaumya

我搜索了很多,但没有找到我的问题的确切答案。所以我在这里发布了一个新的。如果有人知道怎么做,请回答并解释。

假设我有一个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,以便它们正常工作吗。

1 个回复
最合适的回答,由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>\';

结束

相关推荐

Multiple level shortcodes

我正在开发一个插件,遇到了一种情况,我希望有人能帮我找到一个解决方案。我想要一个短代码结构,如:[shortcode_1] [shortcode_2] [shortcode_3] [shortcode_4][/shortcode_4] [/shortcode_3] [/shortcode_2] [/shortcode_1] 但如果我使用add\\u短代码,只有第一个短代码有效。。。有没有办法得到这样的短代码结构?谢谢