Wordpress短代码未命名属性

问题描述:

无法真正掌握这一点。我试图做一个wordpress短代码,从另一个文件中的数组中获取值。我试图实现的是使短代码myshortCode valueFromKey取决于密钥。Wordpress短代码未命名属性

这是我的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显示respons数据。因此,所有这些简码都将位于同一页面的不同部分。

我刚才测试的代码,并能正常工作在我身边

[myshortCode“键1”,“键2”]这是我叫简码

,这是我已经包括了我的functions.php

不要多次调用该文件只是声明函数上面的数组或者在函数上面包含文件一次。

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

OR

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

然后函数里面只写全球$阵列;访问在函数外声明的变量。

function someCode($opts) { 
    global $array; 

    return $array[$opts[1]]; 

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

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

$opts 

是你不愿透露姓名的属性的数组,所以你可以选择$ OPTS [0],$选择采用[1]等..

+0

感谢您尝试,但它不工作。所有路径都是正确的,没有标签(即 axelra82

+0

因此,如果您将使用[myshortCode“那么它应该显示“一个字符串响应...”,如果你使用[myshortCode“key2”],你会得到“...从外部API”返回(你将使用$ opts [0])。功能在我身上完美无缺 –

+0

对不起刚刚检查过,如果短代码被使用了两次然后就中断了,让我进一步检查 –