首页 > 解决方案 > 通过编码从页面中获取 WordPress Shortcode atts 值

问题描述

我创建了一个短代码,例如 [my-shortcode id="2"] 并将其添加到页面中。我想通过编码获取属性“id”的值,以便我可以为值为 2 的 [my-shortcode] 做一些事情。

我正在尝试从不同的函数中检索属性值。该函数将检查页面上是否有任何短代码,如果有,“id”的值是多少?那可能吗?

标签: wordpressshortcode

解决方案


您注册的简码函数可以有两个参数。第一个包含属性键值对,例如您的id="2". 第二个包含短代码的开始和结束标记之间的内容。

如果您的简码函数是my_shortcode_handler,您可以获得如下属性:

function my_shortcode_handler($attr, $content = null) {
  $attr = shortcode_atts([
    'id' => false, // default value
  ], $attr);

  // ... do something with $attr['id']
}

shortcode_atts设置默认值用实际参数覆盖它们。意思是,如果用户没有id明确指定并且只是键入,它将包含默认值[my-shortcode]


推荐阅读