Nhận số lượng bài đăng trong wp rest API v2 và nhận tất cả các danh mục


9

Tôi muốn có được số lượng bài viết của tôi. Tôi nghĩ sử dụng

wp-json / wp / v2 / chuyên mục? page = 1 >> tính đó là một cách tốt để đi. Nhưng sử dụng giải pháp trên không phải là một tách trà về tốc độ và tôi không biết làm thế nào để có được tất cả các loại bằng một cuộc gọi. (Nếu bạn biết nó sẽ rất hữu ích nếu bạn chia sẻ nó). Có cách nào / hướng dẫn / ... cho phép tôi thêm số lượng bài đăng trong một cuộc gọi chính không? như tuyến đường này: wp-json / wp / v2 / bài viết ....

Câu trả lời:


21

API WP Rest gửi thuộc tính tổng số ( Found_posts ) từ WP_Query. trong một tiêu đề được gọi là X-WP-Total.

ĐỐI VỚI BÀI VIẾT: bạn có thể thực hiện cuộc gọi đến bài đăng điểm cuối của API REST

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

Giá trị cho số lượng bài viết được trả về trong tiêu đề là X-WP-Total. Dưới đây là một phản hồi mẫu từ bản demo được lưu trữ

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

GHI CHÚ:

Bạn cũng có thể giới hạn các bài đăng trên mỗi trang bạn đang tải xuống 1 để bạn không nhận được tất cả các bài đăng wordpress của mình chỉ để có được số lượng bài đăng

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

Để có được tất cả các danh mục

Tất cả bạn phải làm là thực hiện một yêu cầu NHẬN đến điểm cuối danh mục tại:

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

Điều này sẽ trả về tất cả các danh mục và tổng số danh mục có thể được tìm thấy trong X-WP-Totaltiêu đề.


6

Trong trường hợp không rõ cách thực sự truy cập vào tiêu đề (với số lượng bài đăng) từ yêu cầu Ajax, sau đây là cách thực hiện với jQuery .get. Điều quan trọng là chức năng gọi lại có một tham số tùy chọn chứa yêu cầu, bao gồm các tiêu đề.

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

1

Hãy cố gắng trả lời một phần câu hỏi của bạn. Đếm bài wp còn lại api v2 trở lại trong tiêu đề. Bạn có thể nhận được giá trị như thế này:

headers('X-WP-Total')

Đếm số bài đăng trên mỗi trang:

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

0

Tôi đã dành hàng giờ để tìm kiếm số lượng bài đăng với WP REST API thậm chí v2 thông qua Google và WordPress hoặc các tài liệu chính thức của thư viện nhưng không may không tìm thấy gì.

Vì vậy, tôi đã thử nhận các bài đăng với số trang tăng dần cho đến khi độ dài mảng JSON được trả về trở thành 0 , điều đó có nghĩa là không còn trang nào có bài đăng trên danh mục và ngừng tăng số trang.

Nhưng nếu bạn muốn có được số lượng bài đăng tùy ý trên mỗi trang với WP REST API, bạn có thể dễ dàng sử dụng filter[posts_per_page]={$numberOfPosts}tham số trong khi gửi yêu cầu.

Hy vọng nó giúp.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.