从嵌套短代码调用父代短代码

问题描述:

从嵌套短代码调用其父代短代码可能吗?从嵌套短代码调用父代短代码

为了说明我的想法考虑这个例子:

[check-auth] 
    [has-auth]Hello, dear Username[/has-auth] 
    [no-auth]Please login here[/no-auth] 
[/check-auth] 

的想法是检查父简码check-auth授权,然后使用嵌套简码has-authno-auth这里面的信息。

我也明白,如果这是有可能这意味着我们正在使你不能使用has-authcheck-auth这些简码结合起来(其实你可以写has-auth,这样是会处理这种情况也是如此),而这是不是一个好的设计desicion,但它仍然会允许编写复杂的短代码逻辑:)

+0

我现在看到的唯一方法是手动查询'$ content'中的嵌套shortcode,然后调用'do_shortcode($ parsedShortcode)'。 – chestozo 2015-04-02 12:06:53

+0

或者使用全局的php变量,这是一个不好的做法,但它的工作原理。 – chestozo 2015-04-03 09:07:57

正确的方法是使用类的嵌套短代码短代码。因此,从嵌套短代码,您总是可以访问一些$this->property或致电$this->instanceMethod()

在课堂上定义的短代码的基本示例,您可以在此处找到https://codex.wordpress.org/Function_Reference/add_shortcode#Examples