我正在尝试创建一个带有单个短代码的插件,该短代码使用一个参数来标识要从JSON API响应中获取的字段。
API返回多个值,我正在尝试将其分解。例如:
[user_link type="url"]
将只公开url,而[user_link type="user_name"]
只会暴露名称。所有这些应该只影响API一次,而不是两次。
我试图将其设置为我的插件文件如下所示:
$api_response = null;
function get_user_info($type) {
if($api_response === null) {
... make api reqest
$api_response = api request data;
return $api_response[$type];
} else {
return $api_response[$type];
}
}
add_shortcode( "user_link", "get_user_info" );
这仍然会导致多个API请求,我添加的每个短代码一个。我认为这是因为两个原因之一。要么清除变量$api\\U响应,要么同时运行所有短代码,并且在下一个运行时未设置该变量。我在这里的做法完全失败了吗?有没有办法做到这一点?我试图分别公开每一段数据,以便最终用户能够按照自己的意愿显示和设置数据样式。