ฉันใช้wp-rest apiเพื่อรับข้อมูลโพสต์ ฉันยังใช้รายการตัวกรอง ap ส่วนที่เหลือ WPเพื่อกรองเขตข้อมูลและสรุปผล:
เมื่อฉันเรียกhttp://example.com/wp-json/wp/v2/posts?items=id,title,featured_media
มันจะให้ผลลัพธ์เช่นนี้
[
{
"id": 407,
"title": {
"rendered": "Title 1"
},
"featured_media": 399
},
{
"id": 403,
"title": {
"rendered": "Title 2"
},
"featured_media": 401
}
]
คำถามคือฉันจะสร้าง URL สื่อที่แนะนำโดยใช้รหัสนี้ได้อย่างไร ตามค่าเริ่มต้นการโทรhttp://example.com/wp-json/wp/v2/media/401
จะส่งคืน json ใหม่ซึ่งมีรายละเอียดทั้งหมดเกี่ยวกับ url ที่มีขนาดต่างกันของอิมเมจ:
{
"id": 401,
"date": "2016-06-03T17:29:09",
"date_gmt": "2016-06-03T17:29:09",
"guid": {
"rendered": "http://example.com/wp-content/uploads/my-image-name.png"
},
"modified": "2016-06-03T17:29:09",
"modified_gmt": "2016-06-03T17:29:09",
"slug": "my-image-name",
"type": "attachment",
"link": "http://example.com/my-post-url",
"title": {
"rendered": "my-image-name"
},
"author": 1,
"comment_status": "open",
"ping_status": "closed",
"alt_text": "",
"caption": "",
"description": "",
"media_type": "image",
"mime_type": "image/png",
"media_details": {
"width": 550,
"height": 250,
"file": "my-image-name.png",
"sizes": {
"thumbnail": {
"file": "my-image-name-150x150.png",
"width": 150,
"height": 150,
"mime_type": "image/png",
"source_url": "http://example.com/wp-content/uploads/my-image-name-150x150.png"
},
"medium": {
"file": "my-image-name-300x136.png",
"width": 300,
"height": 136,
"mime_type": "image/png",
"source_url": "http://example.com/wp-content/uploads/my-image-name-300x136.png"
},
"one-paze-port-thumb": {
"file": "my-image-name-363x250.png",
"width": 363,
"height": 250,
"mime_type": "image/png",
"source_url": "http://example.com/wp-content/uploads/my-image-name-363x250.png"
},
"one-paze-blog-thumb": {
"file": "my-image-name-270x127.png",
"width": 270,
"height": 127,
"mime_type": "image/png",
"source_url": "http://example.com/wp-content/uploads/my-image-name-270x127.png"
},
"one-paze-team-thumb": {
"file": "my-image-name-175x175.png",
"width": 175,
"height": 175,
"mime_type": "image/png",
"source_url": "http://example.com/wp-content/uploads/my-image-name-175x175.png"
},
"one-paze-testimonial-thumb": {
"file": "my-image-name-79x79.png",
"width": 79,
"height": 79,
"mime_type": "image/png",
"source_url": "http://example.com/wp-content/uploads/my-image-name-79x79.png"
},
"one-paze-blog-medium-image": {
"file": "my-image-name-380x250.png",
"width": 380,
"height": 250,
"mime_type": "image/png",
"source_url": "http://example.com/wp-content/uploads/my-image-name-380x250.png"
},
"full": {
"file": "my-image-name.png",
"width": 550,
"height": 250,
"mime_type": "image/png",
"source_url": "http://example.com/wp-content/uploads/my-image-name.png"
}
},
"image_meta": {
"aperture": "0",
"credit": "",
"camera": "",
"caption": "",
"created_timestamp": "0",
"copyright": "",
"focal_length": "0",
"iso": "0",
"shutter_speed": "0",
"title": "",
"orientation": "0",
"keywords": [ ]
}
},
"post": 284,
"source_url": "http://example.com/wp-content/uploads/my-image-name.png",
"_links": {
"self": [
{
"href": "http://example.com/wp-json/wp/v2/media/401"
}
],
"collection": [
{
"href": "http://example.com/wp-json/wp/v2/media"
}
],
"about": [
{
"href": "http://example.com/wp-json/wp/v2/types/attachment"
}
],
"author": [
{
"embeddable": true,
"href": "http://example.com/wp-json/wp/v2/users/1"
}
],
"replies": [
{
"embeddable": true,
"href": "http://example.com/wp-json/wp/v2/comments?post=401"
}
]
}
}
แต่ให้พิจารณากรณีเมื่อฉันต้องการรับรายการโพสต์และรูปขนาดย่อของพวกเขา มีอยู่ครั้งหนึ่งที่ฉันควรโทรhttp://example.com/wp-json/wp/v2/posts?items=id,title,featured_media
แล้วฉันควรจะโทรhttp://example.com/wp-json/wp/v2/media/id
10 ครั้งสำหรับแต่ละรหัสสื่อแล้วแยกวิเคราะห์ผลลัพธ์และรับ URL สุดท้ายของภาพขนาดย่อของสื่อ ดังนั้นจึงต้องการ 11 คำขอเพื่อรับรายละเอียด 10 โพสต์ (หนึ่งรายการ, 10 สำหรับรูปขนาดย่อ) เป็นไปได้ไหมที่จะได้ผลลัพธ์นี้ในคำขอเดียว?
_embed
พารามิเตอร์วัตถุโพสต์ที่ส่งคืนจะมีรายละเอียดทั้งหมดเกี่ยวกับสื่อแนะนำและขนาดทั้งหมดที่มี ตรวจสอบคำตอบของฉันสำหรับตัวอย่าง