2017-04-25 541 views
1

我在我的WordPress站點中安裝了Algolia搜索插件1.7.0。我還設置它,當我進入索引下面顯示出來:Algolia搜索索引失敗

wp_remote_post() failed, indexing won't work. Checkout the logs for more details. 
URL called: http://45.77.12.19/wp-admin/admin-post.php 
Array 
(
    [headers] => Requests_Utility_CaseInsensitiveDictionary Object 
     (
      [data:protected] => Array 
       (
        [server] => nginx/1.12.0 
        [date] => Tue, 25 Apr 2017 02:23:09 GMT 
        [content-type] => text/html 
        [content-length] => 195 
        [www-authenticate] => Basic realm="Restricted" 
       ) 
     ) 

401 Authorization Required 

我試圖在wp-config.php文件添加定義(「ALGOLIA_LOOPBACK_HTTP」,真),隨後其他步驟解釋:
https://community.algolia.com/wordpress/frequently-asked-questions.html

我現在處於一個死衚衕,不確定現在該做什麼,因爲algolia索引不會發生。我該如何解決這個問題?

回答

8

WordPress的Algolia插件需要能夠通過HTTP或HTTPS訪問管理界面。 這是它創建一個循環來處理待處理任務的方式。

根據你的日誌:'Basic realm ='Restricted'',你的管理員似乎在基本身份驗證(htpasswd)後面受到保護。

要使隊列在你的情況下工作,你應該提供插件的憑據。

以下是您需要添加到活動主題的functions.php文件中的內容。

<?php 
// In your current active theme functions.php. 
define('MY_USERNAME', 'test'); 
define('MY_PASSWORD', 'test'); 

function custom_loopback_request_args(array $request_args) { 
    $request_args['headers']['Authorization'] = 'Basic ' . base64_encode(MY_USERNAME . ':' . MY_PASSWORD); 

    return $request_args; 
} 

add_filter('algolia_loopback_request_args', 'custom_loopback_request_args'); 

請注意,由於我們正在努力消除該邏輯,因此在未來幾周內可能會發生變化。