Obtener el recuento de entradas en wp rest API v2 y obtener todas las categorías

12 feb 2016, 19:47:26
Vistas: 36.5K
Votos: 16

Quiero obtener el recuento de mis entradas. Creo que usar

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

0
Todas las respuestas a la pregunta 4
0
32

La API REST de WP envía la propiedad de conteo total (found_posts) de WP_Query en una cabecera llamada X-WP-Total.

PARA PUBLICACIONES: puedes hacer una llamada al endpoint de publicaciones de la API REST

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

El valor del conteo de publicaciones se devuelve en la cabecera como X-WP-Total. A continuación se muestra una respuesta de ejemplo del demo alojado:

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 obtienes a 1 para no tener que recuperar todas tus publicaciones de WordPress solo para obtener el conteo

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

Para Obtener Todas las Categorías

Todo lo que tienes que hacer es realizar una petición GET al endpoint de categorías en:

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

Esto devolverá todas las categorías y también el conteo total de categorías se puede encontrar en la cabecera X-WP-Total.

28 dic 2016 14:51:13
0

En caso de que no esté claro cómo acceder realmente al encabezado (con el conteo de publicaciones) desde la solicitud Ajax, a continuación se muestra cómo hacerlo con jQuery .get. La clave es que la función de callback tiene un parámetro opcional que contiene la solicitud, la cual 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 ); //muestra el número de publicaciones en la consola
});
21 jul 2017 21:34:55
0

Intenta responder a parte de tu pregunta. El conteo de publicaciones en la API REST de WP v2 se devuelve en los encabezados. Puedes obtener el valor de la siguiente manera:

headers('X-WP-Total')

Conteo de publicaciones por página:

wp-json/wp/v2/categories?page=1&per_page=5
30 ago 2016 23:02:16
0

He pasado horas buscando cómo obtener el número de publicaciones con la API REST de WP, incluso la versión 2, a través de Google, la documentación oficial de WordPress o la biblioteca, pero desafortunadamente no encontré nada.

Así que intenté obtener publicaciones aumentando el número de página hasta que la longitud del array JSON devuelto se convirtiera en 0, lo que significa que no hay más páginas con publicaciones en la categoría, y dejé de incrementar el número de página.

Pero si deseas obtener un número arbitrario de publicaciones por página con la API REST de WP, puedes usar fácilmente el parámetro filter[posts_per_page]={$numberOfPosts} al enviar la solicitud.

Espero que te ayude.

23 ago 2016 23:41:04