อะไรคือความแตกต่างระหว่าง set_post_thumbnail_size และ add_image_size? set_post_thumbnail_size สำหรับรูปภาพทั้งหมดหรือไม่และ add_image_size สำหรับปรับขนาดภาพแยกกันหรือไม่
ขอบคุณ
อะไรคือความแตกต่างระหว่าง set_post_thumbnail_size และ add_image_size? set_post_thumbnail_size สำหรับรูปภาพทั้งหมดหรือไม่และ add_image_size สำหรับปรับขนาดภาพแยกกันหรือไม่
ขอบคุณ
คำตอบ:
เมื่อรูปภาพถูกอัพโหลดใน WordPress รูปภาพนั้นจะถูกบันทึกในขนาดดั้งเดิมและยังเป็นสำเนาที่ปรับขนาดแล้วในขนาดที่แตกต่างกัน ด้วยวิธีนี้มันจะกลายเป็นเรื่องง่ายที่จะใช้ขนาดที่แตกต่างกันของภาพเดียวกันเพื่อวัตถุประสงค์ที่แตกต่างกัน
ตามค่าเริ่มต้น WordPress จะสร้างสำเนา 3 ชุดใน 3 ขนาดที่แตกต่างกัน:
'thumb'
'medium'
'large'
ขนาดพิกเซลสำหรับทั้ง 3 ขนาดสามารถตั้งค่าในแดชบอร์ด WordPress Settings -> Media
ภายใต้เมนู
ตอนนี้ฟังก์ชั่นadd_image_size
จะใช้ในการลงทะเบียนขนาดใหม่ที่เพิ่มไปยัง 3 ค่าเริ่มต้น
ทุกขนาดที่ลงทะเบียนสามารถเรียกดูได้โดยใช้ชื่อของมันในการทำงานบางอย่าง WordPress เช่นwp_get_attachment_image_src
, ,wp_get_attachment_image
wp_get_attachment_link
ฟังก์ชั่นทั้งหมดเหล่านี้ยอมรับพารามิเตอร์$size
ที่ควรเป็นชื่อของหนึ่งในขนาดที่ลงทะเบียน (หนึ่งใน 3 มาตรฐานหรือหนึ่งในขนาดที่กำหนดเองที่ลงทะเบียนด้วยadd_image_size
)
หาก'full'
ใช้เป็น$size
อาร์กิวเมนต์รูปภาพดั้งเดิมจะถูกส่งคืนซึ่งจะไม่ถูกปรับขนาด
นอกเหนือไปจากฟังก์ชั่นดังกล่าวข้างต้นมีสองฟังก์ชั่นอื่น ๆ ที่ทำให้การใช้งานที่มีขนาดภาพ: และget_the_post_thumbnail
the_post_thumbnail
ฟังก์ชั่นทั้งสองนี้ได้รับ (ภาพแรก) และเสียงสะท้อน (ที่สอง) ภาพที่ตั้งเป็น "ภาพเด่น" สำหรับโพสต์
สิ่งที่ส่งคืน (หรือสะท้อน) โดยฟังก์ชั่นเหล่านี้คือimg
แท็ก html เต็มรูปแบบเช่น
<img scr="http://www.example.com/wp-content/2013/08/image-200x200.jpg" />
ดังนั้นขนาดที่ใช้คืออะไร?
หาก a $size
ถูกส่งเป็นอาร์กิวเมนต์ที่ 2 (ที่ 1 คือ$postid
) ฟังก์ชั่นเหล่านี้จะคืนค่ารูปภาพในขนาดนั้น post-thumbnail
มิฉะนั้นฟังก์ชันเหล่านี้ค้นหาขนาดภาพลงทะเบียนที่มีชื่อ:
นี่ไม่ใช่ขนาดเริ่มต้นหนึ่งในสามที่จริงแล้วมันเป็นขนาดมาตรฐานที่ 4 (ถือว่าเป็นขนาดที่ 5 full
) และคุณสามารถลงทะเบียนการโทรset_post_thumbnail_size
ได้
ดังนั้น
set_post_thumbnail_size( $width, $height, $crop );
เป็นทางลัดสำหรับ
add_image_size( 'post-thumbnail', $width, $height, $crop );
หากคุณไม่ได้เรียกset_post_thumbnail_size
(ซึ่งหมายความ'post-thumbnail'
ว่าไม่ได้สร้างขนาด) WordPress จะใช้ขนาดthumb
และแม้ว่าขนาดนี้จะไม่สามารถใช้งานได้ WordPress จะใช้ภาพต้นฉบับซึ่งเป็นขนาดที่ไม่ได้ปรับขนาด
การลงทะเบียนขนาดรูปภาพที่กำหนดเองจะมีประโยชน์มากเมื่อออกแบบชุดรูปแบบ แต่สิ่งสำคัญคือไม่ควรละเมิด: รูปภาพที่อัปโหลดทุกภาพจะถูกคัดลอกและปรับขนาดสำหรับทุกขนาดที่ลงทะเบียนดังนั้นการลงทะเบียนขนาดมากจะทำให้กระบวนการอัปโหลดรูปภาพช้าลงอย่างมาก
หมายเหตุ:
โปรดระวังว่าเมื่อ WordPress สร้างสำเนาภาพที่ปรับขนาดแล้วจะไม่ขยาย แต่ทำสำเนาขนาดเล็กกว่าเท่านั้น: เช่นหากภาพต้นฉบับเป็น 400x500px และขนาดภาพ 'ปานกลาง' คือ 800x600px, ขนาดกลางและใหญ่กว่าจะไม่ถูกสร้างขึ้น
ดังนั้นการลงทะเบียนขนาดภาพจึงไม่ทำให้ความปลอดภัยของไฟล์ภาพสำหรับทุกขนาดที่ลงทะเบียนนั้นมีอยู่จริงในโฟลเดอร์เนื้อหาของ WordPress แม้ว่าขนาดภาพที่ลงทะเบียนจะเปลี่ยนแปลงได้อย่างง่ายดาย: การเปลี่ยนการตั้งค่าการเปลี่ยนธีม ฯลฯ
เมื่อขนาดภาพเปลี่ยนแปลงไม่ว่าด้วยเหตุผลใดการเปลี่ยนแปลงจะมีผลกับภาพที่อัปโหลดหลังจากการเปลี่ยนแปลงนั้น ภาพที่อัปโหลดก่อนที่จะไม่เปลี่ยนขนาดและไม่ได้ลดขนาดและบันทึกใหม่
หากจำเป็นต้องพึ่งพาขนาดภาพที่เฉพาะเจาะจงหลังจากอัพโหลดภาพบางภาพแล้ว (เช่นหลังจากเปลี่ยนธีม) จากนั้นปลั๊กอินสร้างภาพย่อใหม่จะเป็นเครื่องมือช่วยชีวิต
set_post_thumbnail_size( 150, 150 ); If you haven't called set_post_thumbnail_size (which means the size 'post-thumbnail' is not created), WordPress will use the size thumb, and if even this size is not available, WordPress will use the original image, the one not resized.
... ไม่ถูกต้อง จากประสบการณ์ของฉันทดสอบสิ่งนี้หากset_post_thumbnail_size()
ไม่ได้รับการเรียก WP จะกลับไปที่ภาพขนาดเต็ม
จาก Codex:
set_post_thumbnail_size
ตั้งค่าขนาดรูปภาพเริ่มต้น (ขนาดย่อโพสต์ภาพขนาดย่อ) หากต้องการลงทะเบียนขนาดภาพเพิ่มเติมสำหรับภาพที่แนะนำให้ใช้: add_image_size ()
add_image_size
ลงทะเบียนขนาดภาพใหม่ ซึ่งหมายความว่า WordPress จะสร้างสำเนาของภาพเด่น (ซึ่งรู้จักกันในชื่อภาพขนาดย่อของโพสต์) ด้วยขนาดที่ระบุเมื่อคุณอัปโหลดภาพใหม่