Wordpress 短代码数组未命名属性

Wordpress shortcode array unnamed attribute

无法真正掌握这一点。我正在尝试制作一个从另一个文件中的数组获取值的 wordpress 简码。我想要实现的是使短代码 'myshortCode valueFromKey' 根据密钥工作。

这是我在 functions.php

中的简码函数
function someCode($opts) {
    require_once( get_stylesheet_directory() . '/assets/php/array.php' );
    return $array[$opts[0]];
}add_shortcode('myshortCode', 'someCode');

这是array.php

中的数组
$array = array(
    'key1' => 'a string respons...',
    'key2' => '...from external API'
);

但是无论我做什么我都只能从数组中获取第一个键值。例如
'myshortCode key1'
'myshortCode key2'
仅returns'myshortCode key1'

我计划使用它来显示来自外部 API 的响应数据。所以所有这些简码都将位于同一页面的不同部分。

我刚刚测试了代码,它在我这边运行良好

[myshortCode "key1" "key2"] 这就是我调用简码的方式

这就是我在 functions.php

中包含的内容

不要多次调用文件只需在函数上方声明数组或在函数上方包含一次文件即可。

require_once( get_stylesheet_directory() . '/array.php' );

$array = array('key' => 'value');

然后在函数里面写global $array;访问函数外声明的变量。

function someCode($opts) {
    global $array;

    return $array[$opts[1]];

}
add_shortcode('myshortCode', 'someCode');

确保 array.php 文件的开头有 <?php 并确保路径正确。其他应该没问题。

$opts 

是您未命名属性的数组,因此您可以选择 $opts[0]、$opts[1] 等等。