Wordpress短代码数组未命名的属性

时间:2016-05-15 17:09:02

标签: php arrays wordpress shortcode

真的无法解决这个问题。我试图制作一个wordpress短代码,从另一个文件中的数组中获取值。我想要实现的是制作短代码&mys; machortCode 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'
只返回' myshortCode key1'

我计划使用它来显示来自外部API的响应数据。因此,所有这些短代码将在同一页面的不同部分中。

1 个答案:

答案 0 :(得分:1)

我刚刚测试了代码,它在我这边工作正常

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

这就是我在functions.php中包含的内容

多次调用文件只是在函数上方声明数组或在函数上方包含文件一次。

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

OR

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

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

function someCode($opts) {
    global $array;

    return $array[$opts[1]];

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

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

$opts 

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