2015-10-13 54 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

相關問題