Wordpress致命错误:在写上下文中不能使用函数返回值

时间:2015-10-13 13:01:01

标签: php wordpress

我最近收购了一个新的客户端,并将他的网站从最初的开发者迁移到他自己的托管。在转移到新托管之前,该网站工作正常。但是,现在我收到以下错误:

致命错误:在第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;
}

1 个答案:

答案 0 :(得分:3)

这可能是由于服务器中的PHP版本不同,问题在于vendor_api_cache函数,你不能在empty()函数内使用函数调用,你必须将它分配给变量然后将其传递给empty()来电:

function vendor_api_cache(){
    $vendor = get_query_var('vendor');
    if (!empty ($vendor)):