我正在尝试将我的常规php构建脚本集成到wordpress中。我被困在一个功能完美的地方之前,但不是在wordpress环境中。
在下面的代码中,我在我的ajax请求中得到了空白数组,而我在myFunc中有结果(我已经通过将wp_send_json放入其中进行了测试)。
我需要更改任何内容才能在wordpress中使用PHP全局变量吗?
$final = array();
function myFunc(){
global $wpdb;
global $final;
$sql = 'SELECT .......';
$result = $wpdb->get_results($sql);
if($wpdb->num_rows > 0){
foreach ( $result as $row ) {
$final[] = $row->pdate;
}
return true;
}
return false;
}
myFunc();
wp_send_json($final);
答案 0 :(得分:0)
这应该可行,但是全局变量是令人讨厌的东西,并且经常会发生冲突我建议只是从函数中返回数组。
e.g。
JumboEnumSet(Class<E>elementType, Enum[] universe) {
super(elementType, universe);
elements = new long[(universe.length + 63) >>> 6];
}
答案 1 :(得分:0)
您可以使用以下语句从函数中获取更新值。
$arr = array();
function myFunc($new_arr){
global $wpdb;
$sql = 'SELECT .......';
$result = $wpdb->get_results($sql);
if($wpdb->num_rows > 0){
foreach ( $result as $row ) {
$new_arr[] = $row->pdate;
}
}
//It will return updated array if result having rows.Otherwise return empty array.
return $new_arr;
}
$final = myFunc($arr);
if(!empty($final))//if block will be execute if myFunc doesn't return empty array.
{
wp_send_json($final);
}