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'
只返回'myshortCode key1'

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

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

[myshortCode"key1"key2"]这就是我称短码的方式

这就是我在函数中包含的内容。php

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

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

$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]等。