我最近收购了一个新的客户端,并将他的网站从最初的开发者迁移到他自己的托管。在转移到新托管之前,该网站工作正常。但是,现在我收到以下错误:
致命错误:在第55行的/home/agingtree/public_html/dev/wp-content/themes/aging-tree/lib/vendor.php中,不能在写入上下文中使用函数返回值
除了数据库以外,没有任何内容被修改以反映新的域和位置等。以下是围绕显示的问题的代码。任何帮助表示赞赏:
/*
* Vendor Query Vars
*/
add_filter('query_vars', 'vendor_query_vars');
function vendor_query_vars($vars){
$vars[] = "vendor";
$vars[] = "service-category";
$vars[] = "service-subcategory";
$vars[] = "city";
$vars[] = "zip";
return $vars;
}
/*
* Vendor API Cache
*/
add_action('pre_get_posts', 'vendor_api_cache');
function vendor_api_cache(){
if (!empty (get_query_var('vendor'))):
$data = api_get('vendor',['id' => get_query_var('vendor')]);
if(!empty($data[0])){
$vendor = $data[0];
}
else{
$vendor = null;
}
wp_cache_set('vendor',$vendor);
endif;
}
答案 0 :(得分:3)
这可能是由于服务器中的PHP版本不同,问题在于vendor_api_cache
函数,你不能在empty()
函数内使用函数调用,你必须将它分配给变量然后将其传递给empty()
来电:
function vendor_api_cache(){
$vendor = get_query_var('vendor');
if (!empty ($vendor)):