Obtenga el recuento de publicaciones en wp rest API v2 y obtenga todas las categorías

10

Quiero obtener el recuento de mis publicaciones. Creo usar

wp-json / wp / v2 / categories? page = 1 >> cuenta que es una buena manera de hacerlo. Pero usar la solución anterior no es una taza de té en términos de velocidad y no sé cómo obtener todas las categorías con una sola llamada (si lo sabe, sería muy útil si lo compartiera). ¿hay alguna forma / tutorial / ... que me permita agregar el recuento de publicaciones en una llamada principal? como esta ruta: wp-json / wp / v2 / posts ....

mil
fuente

Respuestas:

21

La API WP Rest envía la propiedad total count ( found_posts ) desde WP_Query. en una cabecera llamada X-WP-Total.

PARA PUBLICACIONES: puede realizar una llamada al punto final de publicaciones de la API REST

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

El valor para el recuento de publicaciones se devuelve en el encabezado como X-WP-Total. A continuación se muestra una respuesta de muestra de la demostración alojada

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:

También puedes limitar las publicaciones por página que estás obteniendo a 1 para que no recibas todas tus publicaciones de WordPress solo para que las publicaciones cuenten

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

Para obtener todas las categorías

Todo lo que tiene que hacer es hacer una solicitud GET al punto final de categorías en:

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

Esto devolvería todas las categorías y también se puede encontrar el recuento total de categorías en el X-WP-Totalencabezado.

Tunji
fuente
7

En caso de que no esté claro cómo acceder realmente al encabezado (con el recuento de publicaciones) desde la solicitud de Ajax, a continuación se explica cómo hacerlo con jQuery .get. La clave es que la función de devolución de llamada tiene un parámetro opcional que contiene la solicitud, que incluye los encabezados.

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

Intenta responder a parte de tu pregunta. Recuento de post wp rest api v2 devuelto en encabezados. Puede obtener valor algo como esto:

headers('X-WP-Total')

Contar publicaciones por página:

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

He pasado horas buscando para obtener el número de publicaciones con WP REST API incluso v2 a través de Google y WordPress o los documentos oficiales de la biblioteca, pero desafortunadamente no encontré nada.

Así que intenté obtener publicaciones con un número de página creciente hasta que la longitud de la matriz JSON devuelta se convirtió en 0, lo que significa que no hay más páginas con publicaciones en la categoría, y dejé de aumentar el número de página.

Pero si desea obtener un número arbitrario de publicaciones por página con WP REST API, puede usar filter[posts_per_page]={$numberOfPosts}parámetros fácilmente mientras envía la solicitud.

Espero eso ayude.

Sdghasemi
fuente