Получить количество постов в wp rest API v2 и получить все категории

10

Я хочу получить количество моих сообщений. Думаю использовать

wp-json / wp / v2 / Categories? page = 1 >> count это хороший способ. Но использование вышеупомянутого решения не является чашкой чая с точки зрения скорости, и я не знаю, как получить все категории одним вызовом (если вы знаете, это будет очень полезно, если вы поделитесь им). Есть ли способ / учебник / ... включить мне добавить количество сообщений в основной вызов? как этот маршрут: wp-json / wp / v2 / posts ....

мил
источник

Ответы:

21

WP Rest API отправляет свойство общего количества ( found_posts ) из WP_Query. в шапке называется X-WP-Total.

ДЛЯ ПОСТОВ: вы можете позвонить на конечную точку сообщений API REST

http://demo.wp-api.org/wp-json/wp/v2/posts

Значение для количества сообщений возвращается в заголовке как X-WP-Total. Ниже приведен пример ответа от размещенной демонстрации.

Access-Control-Allow-Headers:Authorization, Content-Type
Access-Control-Expose-Headers:X-WP-Total, X-WP-TotalPages
Allow:GET
Cache-Control:max-age=300, must-revalidate
Connection:keep-alive
Content-Encoding:gzip
Content-Type:application/json; charset=UTF-8
Date:Wed, 28 Dec 2016 12:48:50 GMT
Last-Modified:Wed, 28 Dec 2016 12:48:50 GMT
Link:<https://demo.wp-api.org/wp-json/wp/v2/posts?page=2>; rel="next"
Server:nginx/1.4.6 (Ubuntu)
Transfer-Encoding:chunked
Vary:Cookie
Via:1.1 dfa2cbb51ec90b28f03125592b887c7d.cloudfront.net (CloudFront)
X-Amz-Cf-Id:ri4C3e-AdixwqGv_wYNdGRq9ChsIroy1Waxe2GqkiTqbk4CpiSIQfw==
X-Batcache:MISS
X-Cache:Miss from cloudfront
X-Content-Type-Options:nosniff
X-EC2-Instance-Id:i-198c7e94
X-Powered-By:PHP/7.0.11-1+deb.sury.org~trusty+1
X-Robots-Tag:noindex
X-WP-Total:71
X-WP-TotalPages:8

НОТА:

Вы также можете ограничить количество постов на странице, которую вы выбираете, до 1, чтобы вы не получали все ваши WordPress посты только для подсчета количества постов.

http://demo.wp-api.org/wp-json/wp/v2/posts?per_page=1

Получить все категории

Все, что вам нужно сделать, это сделать запрос GET к конечной точке категории по адресу:

http://demo.wp-api.org/wp-json/wp/v2/categories

Это вернет все категории, а также общее количество категорий можно найти в X-WP-Totalзаголовке.

Tunji
источник
7

В случае, если неясно, как на самом деле получить доступ к заголовку (с количеством сообщений) из запроса Ajax, ниже описано, как это сделать с помощью jQuery .get. Ключ в том, что у функции обратного вызова есть необязательный параметр, содержащий запрос, который включает в себя заголовки.

$.get( 'http://demo.wp-api.org/wp-json/wp/v2/posts', function( data, status, request ) {
numPosts = request.getResponseHeader('x-wp-total');
console.log( numPosts ); //outputs number of posts to console
});
mgtech
источник
1

Попробуйте ответить на часть вашего вопроса. Количество записей wp rest api v2, возвращаемых в заголовках. Вы можете получить значение примерно так:

headers('X-WP-Total')

Количество сообщений на странице:

wp-json/wp/v2/categories?page=1&per_page=5
DARK_DIESEL
источник
0

Я потратил часы на поиск количества постов с помощью WP REST API, даже v2, через Google и WordPress или официальные документы библиотеки, но, к сожалению, ничего не придумал.

Поэтому я пытался получать сообщения с увеличением номера страницы, пока возвращаемая длина массива JSON не станет равной 0, что означает, что в категории больше нет страниц с сообщениями , и прекратил увеличивать номер страницы.

Но если вы хотите получить произвольное количество сообщений на странице с помощью WP REST API, вы можете легко использовать filter[posts_per_page]={$numberOfPosts}параметр при отправке запроса.

Надеюсь, поможет.

Sdghasemi
источник