【问题标题】:Call parent shortcode from nested shortcode从嵌套简码调用父简码
【发布时间】:2015-06-07 08:26:58
【问题描述】:

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

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

[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 这样也可以处理这种情况),并且这不是一个好的设计决策,但它仍然允许编写具有逻辑的复杂短代码:)

【问题讨论】:

  • 我现在看到的唯一方法是手动查询 $content 内的嵌套短代码,然后调用 do_shortcode($parsedShortcode)
  • 或者使用全局 php 变量,这是一种不好的做法,但它有效。

标签: wordpress shortcode


【解决方案1】:

正确的方法是使用类作为具有嵌套简码的简码。这样您就可以从嵌套的短代码中随时访问一些$this->property 或调用$this->instanceMethod()

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

【讨论】:

  • 地址示例使用具有静态方法的类(因此没有变量)。你能解释一下你的想法吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-10-22
  • 2023-02-23
  • 1970-01-01
  • 2021-11-06
  • 2021-03-30
相关资源
最近更新 更多