Obter contagem de postagens na API wp rest v2 e obter todas as categorias

9

Quero obter a contagem das minhas postagens. Eu acho que uso

wp-json / wp / v2 / categories? page = 1 >> conte que é um bom caminho a percorrer. Mas usar a solução acima não é uma xícara de chá em termos de velocidade e eu não sei como obter todas as categorias por uma chamada. (Se você souber que seria tão útil se você compartilhar). existe alguma maneira / tutorial / ... permitir-me adicionar a contagem de mensagens em uma chamada principal? gostou desta rota: wp-json / wp / v2 / posts ....

mil
fonte

Respostas:

21

A API WP Rest envia a propriedade total count ( found_posts ) de WP_Query. em um cabeçalho chamado X-WP-Total.

PARA POSTS: você pode fazer uma chamada para o terminal de postagens da API REST

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

O valor da contagem de postagens é retornado no cabeçalho como X-WP-Total. Abaixo está um exemplo de resposta da demonstração hospedada

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

NOTA:

Você também pode limitar os posts por página que você está buscando para 1, para que você não esteja recebendo todos os seus posts do wordpress apenas para obter a contagem dos posts

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

Para obter todas as categorias

Tudo o que você precisa fazer é fazer uma solicitação GET para o terminal de categorias em:

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

Isso retornaria todas as categorias e também a contagem total de categorias pode ser encontrada no X-WP-Totalcabeçalho.

Tunji
fonte
6

Caso não esteja claro como acessar o cabeçalho (com a contagem de postagens) na solicitação do Ajax, a seguir é apresentado como fazer com o jQuery .get. A chave é que a função de retorno de chamada possui um parâmetro opcional que contém a solicitação, que inclui os cabeçalhos.

$.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
fonte
1

Tente responder a parte da sua pergunta. Contagem de post wp rest api v2 retornada em cabeçalhos. Você pode obter valor algo como isto:

headers('X-WP-Total')

Contar postagens por página:

wp-json/wp/v2/categories?page=1&per_page=5
DARK_DIESEL
fonte
0

Passei horas pesquisando para obter o número de postagens com a API WP REST, mesmo v2, através do Google e WordPress ou dos documentos oficiais da biblioteca, mas infelizmente não obtive nada.

Então, eu tentei obter mensagens com o aumento do número de página até que o voltou comprimento da matriz JSON torna-se 0 que significa que há mais páginas com mensagens sobre a categoria, e parou de aumentar o número de página.

Mas se você deseja obter um número arbitrário de postagens por página com a API REST do WP, pode usar facilmente o filter[posts_per_page]={$numberOfPosts}parâmetro ao enviar a solicitação.

Espero que ajude.

Sdghasemi
fonte