web-dev-qa-db-fra.com

Obtenez le nombre de messages dans l'API vp wp rest et obtenez toutes les catégories

Je veux connaître le nombre de mes posts. Je pense utiliser

wp-json/wp/v2/categories? page = 1 >> compter c'est un bon chemin à parcourir. Mais utiliser la solution ci-dessus n’est pas une tasse de thé en termes de rapidité et je ne sais pas comment obtenir toutes les catégories en un seul appel (si vous savez que ce serait si utile de le partager). est-il possible/tutorial/... de me permettre d'ajouter le nombre de messages dans un appel principal? comme cette route: wp-json/wp/v2/posts ....

9
mil

L'API WP Rest envoie le nombre total ( found_posts ) à partir de WP_Query. dans un en-tête appeléX-WP-Total.

FOR POSTS: vous pouvez appeler les noeuds finaux de publication de l'API REST

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

La valeur de posts count est renvoyée dans l'en-tête sous la formeX-WP-Total. Vous trouverez ci-dessous un exemple de réponse de la démo hébergée.

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

NOTE:

Vous pouvez également limiter le nombre de messages par page vous allez chercher à 1, de sorte que vous n'obtenez pas tous vos messages wordpress uniquement pour que le nombre de messages compte.

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

Obtenir toutes les catégories

Tout ce que vous avez à faire est d’envoyer une requête GET au noeud final des catégories à l’adresse suivante:

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

Cela renverrait toutes les catégories et le nombre total de catégories peut être trouvé dans l'en-têteX-WP-Total.

18
Tunji

Si vous ne savez pas comment accéder à l'en-tête (avec le nombre de publications) à partir de la demande Ajax, voici comment procéder avec jQuery .get. La clé est que la fonction de rappel a un paramètre facultatif contenant la demande, qui inclut les en-têtes.

$.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
});
4
mgtech

Essayez de répondre à une partie de votre question. Le nombre de messages post-wp api v2 est retourné dans les en-têtes. Vous pouvez obtenir quelque chose comme ça:

headers('X-WP-Total')

Compter les messages par page:

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

J'ai passé des heures à chercher un nombre de publications avec WP REST API même v2 via Google et WordPress ou la documentation officielle de la bibliothèque, mais je n'ai malheureusement rien obtenu.

J'ai donc essayé d'obtenir des publications avec un numéro de page croissant jusqu'à ce que le longueur du tableau JSON} renvoyé devienne , ce qui signifie qu'il y a plus de page contenant des publications sur la catégorie et a cessé d'augmenter. le numéro de page.

Mais si vous souhaitez obtenir un nombre arbitraire de publications par page avec WP REST API, vous pouvez facilement utiliser le paramètre filter[posts_per_page]={$numberOfPosts} lors de l'envoi de la demande.

J'espère que ça aide.

0
Sdghasemi