从嵌套简码调用父简码

Call parent shortcode from nested shortcode

是否可以从嵌套简码调用其父简码?

为了说明我的想法,请考虑以下示例:

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

想法是检查父简码 check-auth 中的授权,然后在嵌套简码 has-authno-auth.

中使用此信息

我也明白,如果这可能的话,这意味着我们将这些短代码绑定在一起,这样你就不能在 check-auth 之外使用 has-auth(实际上你可以写 has-auth所以这也将处理这种情况),这不是一个好的设计方案,但它仍然允许编写具有逻辑的复杂简码 :)

正确的方法是对具有嵌套简码的简码使用class。因此,从嵌套的短代码中,您始终可以访问某些 $this->property 或调用 $this->instanceMethod().

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