2015-10-13 50 views
0

我最近收购了一个新客户端,并将他的网站从托管到他自己托管的原始开发人员迁移。在转移到新的主机之前,该网站工作正常。但是,现在出现以下错误:Wordpress致命错误:无法在写入上下文中使用函数返回值

致命错误:无法在/ home/agingtree/public_html/dev/wp-content/themes/aging-tree/lib/vendor中的写入上下文中使用函数返回值。 php on line 55

除了db之外,没有其他任何修改来反映新的域和位置等。下面是围绕显示的问题的代码。任何帮助表示赞赏:

/* 
* 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; 
} 
+4

请问您能确定第55行是什么? –

+1

我认为它与这一行有关:'if(!empty(get_query_var('vendor'))):'。也许这个话题会帮助你:http://stackoverflow.com/questions/1532693/weird-php-error-cant-use-function-return-value-in-write-context –

+0

http://stackoverflow.com/a/2173318/1095913它与@DavidAlsbright提供的链接相同,只是正确的答案。你必须编辑vendor_api_cache()的第一行 –

回答

3

这可能是由于服务器不同的PHP版本,该问题存在于vendor_api_cache功能,您不能使用empty()函数内部函数调用,您必须将其分配给一个变量然后传递给empty()电话:

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

当改变它时,它现在传递以下错误:致命错误:Can' t在第14行的/home/agingtree/public_html/dev/wp-content/themes/aging-tree/base.php的写上下文中使用函数返回值 – JohnsonMktg

+0

我改变了主机上的PHP版本,现在我可以访问WordPress的管理员区(尽管需要永久加载);然而,当试图查看网站本身时,它会停留在正在加载的空白页面上(在底部,它表示等待dev.agingtree.com)的任何想法是什么? – JohnsonMktg

+0

关于第一个错误,您遇到同样的错误,请在主题上检查该行,然后您会看到类似的内容,并将其更改为我的答案。它应该有助于解决问题。 – Skatox

相关问题