从嵌套短代码调用父代短代码
问题描述:
从嵌套短代码调用其父代短代码可能吗?从嵌套短代码调用父代短代码
为了说明我的想法考虑这个例子:
[check-auth]
[has-auth]Hello, dear Username[/has-auth]
[no-auth]Please login here[/no-auth]
[/check-auth]
的想法是检查父简码check-auth
授权,然后使用嵌套简码has-auth
和no-auth
这里面的信息。
我也明白,如果这是有可能这意味着我们正在使你不能使用has-auth
外check-auth
这些简码结合起来(其实你可以写has-auth
,这样是会处理这种情况也是如此),而这是不是一个好的设计desicion,但它仍然会允许编写复杂的短代码逻辑:)
答
正确的方法是使用类的嵌套短代码短代码。因此,从嵌套短代码,您总是可以访问一些$this->property
或致电$this->instanceMethod()
。
在课堂上定义的短代码的基本示例,您可以在此处找到https://codex.wordpress.org/Function_Reference/add_shortcode#Examples。
我现在看到的唯一方法是手动查询'$ content'中的嵌套shortcode,然后调用'do_shortcode($ parsedShortcode)'。 – chestozo 2015-04-02 12:06:53
或者使用全局的php变量,这是一个不好的做法,但它的工作原理。 – chestozo 2015-04-03 09:07:57