2017-04-23 56 views
0

我怎麼能做出訪問WordPress的REST API的某些參數,而無需首先驗證 - 例如,page參數不工作(其中blog是一個自定義後型)在此查詢:如何讓WordPress Rest API參數無需身份驗證即可訪問?

mysite.com/wp-json/wp/v2/blog?page=2&per_page=20

我已經看到,在過去它已經能夠使這些PARAMS獲得,instance

add_filter('json_query_vars', function($valid_vars) { 

    $valid_vars[] = 'offset'; 

    return $valid_vars; 
}); 

有什麼辦法做今天的版本的API類似的東西?

回答

0

對於任何有同樣問題的人,我已經解決了它。 page參數實際上是公開可用的,offset是您需要驗證的參數。

API未分頁的原因是因爲請求網址沒有paged查詢字符串集。每次我試圖用WordPress的節點API的params選項添加它,它不工作:

wpapi.getNews().params('paged', 'paged').perPage(perPage).page(pageNumber).then(data=>

它沒有工作,因爲API創建的請求URL似乎始終把page之前的參數paged之一,導致paged在查詢實際運行時被忽略。

所以最後,我創建了一個自定義查詢(的被攻擊的方式做到這一點位,但它的工作),像這樣:

註冊路線:

wpapi.getNews = wpapi.registerRoute('wp/v2', '/news/(?P<customQuery>)');

用法:

wpapi.getNews().customQuery('?paged&per_page=20&page='+pageNumber).then(data =>

使用上面,你可以建立任何查詢,在任何你想要的順序。這有助於我得到正確的分頁結果。另外,我們在這裏看到'getNews',因爲我註冊了一條路線以訪問我的自定義帖子類型news

相關問題