真的无法解决这个问题。我试图制作一个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的响应数据。因此,所有这些短代码将在同一页面的不同部分中。
答案 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]等等。