วิธีเพิ่มเนื้อหาก่อนหรือหลัง the_content & ในประเภทโพสต์ที่กำหนดเอง
เผยแพร่แล้ว: 2020-01-09ในหน้าและโพสต์ของไซต์ WordPress คุณอาจต้องการเพิ่มเนื้อหาบางส่วนหลังเนื้อหาของหน้าหรือเนื้อหาโพสต์ เนื้อหาดังกล่าวอาจจำเป็นในทุกหน้าหรือโพสต์หรือทั้งสองหรือประเภทโพสต์ที่กำหนดเอง ในกรณีเช่นนี้ คุณต้องใช้ตัวกรองที่เพิ่มเนื้อหาหลังหรือก่อนฟังก์ชัน the_content ในธีม WordPress หรือเทมเพลตหน้าของปลั๊กอิน โชคดีที่วันนี้ฉันจะอธิบายวิธีที่ง่ายที่สุดที่คุณสามารถทำได้โดยไม่ทำให้ไซต์ของคุณเสียหาย
ตัวอย่างเนื้อหาที่จะเพิ่มหลังจากโพสต์เนื้อหา
ตัวอย่างที่ดีคือเมื่อคุณต้องการแบ่งปันข้อมูลอย่างรวดเร็วเกี่ยวกับการเปิดเผยพันธมิตรหรือนโยบายความคิดเห็นกับผู้เยี่ยมชมของคุณ
แทนที่จะพิมพ์เนื้อหานี้ทุกครั้งที่คุณเผยแพร่โพสต์หรือเพจ คุณสามารถทำได้โดยอัตโนมัติโดยใช้ตัวกรอง
คุณจะไม่เพียงแต่ประหยัดเวลาแต่ป้องกันการพิมพ์ผิดทุกครั้งที่คุณต้องเพิ่มเนื้อหาประเภทนี้ หากคุณไม่ใช่นักพัฒนา WordPress คุณสามารถเพิ่มส่วนย่อยนี้ลงใน ไฟล์ functions.php ของคุณและแทนที่เนื้อหาด้วยเนื้อหาที่เกี่ยวข้อง คุณไม่ต้องกังวลกับมันในอนาคต
การเพิ่มเนื้อหาหลังหน้าหรือโพสต์เนื้อหาใน WordPress
เมื่อสร้างธีม WordPress หรือปรับแต่งธีม WordPress คุณอาจต้องเพิ่มเนื้อหาที่ส่วนท้ายของ the_content เป็นเรื่องปกติโดยเฉพาะอย่างยิ่งเมื่อคุณใช้ฟิลด์ Meta แบบกำหนดเองหรือประเภทโพสต์ที่กำหนดเองพร้อมรายละเอียดเฉพาะที่ควรเพิ่มไว้ที่ส่วนท้ายของแต่ละโพสต์
คุณสามารถใช้ get_post_meta , get_user_meta หรือ get_option เพื่อรับข้อมูลที่เก็บไว้สำหรับโพสต์หรือผู้ใช้เฉพาะก่อนที่จะเพิ่มหลังฟังก์ชัน the_content
มีหลายสถานการณ์ที่คุณอาจต้องเพิ่มเนื้อหาหลัง the_content ฉันต้องการทำให้มันง่ายสำหรับคุณโดยสาธิตทีละขั้นตอนเกี่ยวกับวิธีการเพิ่มเนื้อหาหลังจาก the_content
กรอง Hook หลังจาก the_content เพื่อเพิ่มเนื้อหาใหม่
เห็นได้ชัดว่าในการเพิ่มเนื้อหาบนหน้า WordPress คุณต้องเข้าใจว่าตัวกรองทำงานอย่างไร ตามหลักการแล้ว WordPress มี hooks สองประเภทสำหรับ action hooks และตัวกรองตามที่อธิบายไว้อย่างชัดเจนในโพสต์นี้ – WordPress do_action hooks และใช้ตัวกรอง หรืออย่างน้อย คุณควรมีแนวคิดเกี่ยวกับวิธีแก้ไขไฟล์ functions.php ในธีมของคุณ
ดังนั้นเราจึงต้องการตัวกรองที่จะกรองเนื้อหาบนหน้าเว็บของเรา และเพิ่มเนื้อหาใหม่ก่อนที่เราจะสามารถส่งคืนผลลัพธ์ได้
เพิ่มเนื้อหาหลัง the_content ใน WordPress
ขั้นแรกเราต้องสร้างตัวกรองดังนี้:
add_filter('the_content', 'add_content_after');
ฟังก์ชันการโทรกลับควรมีรหัสที่เราต้องการเพิ่มหลังจาก the_content เราควรส่งพารามิเตอร์ $content ในฟังก์ชันการเรียกกลับด้วยเพื่อให้เรากรองและส่งคืน:
ฟังก์ชั่น add_content_after($ เนื้อหา) { $after_content = “ตัวอย่างนโยบายความคิดเห็นของเรา”; $fullcontent = $เนื้อหา $after_content; ส่งคืน $fullcontent; }
ดังนั้น ในกรณีนี้ เรากำลังเพิ่ม $after_content และแสดงดังแสดงในภาพด้านล่าง:
คุณสามารถแทนที่ค่าของ $after_content ในโค้ดด้วยข้อความของคุณ และเพิ่มข้อมูลโค้ดทั้งหมดลงใน functions.php และเนื้อหาจะถูกเพิ่มหลังจากเนื้อหา ข้อมูลโค้ดแบบรวมมีดังนี้:
add_filter('the_content', 'add_content_after'); ฟังก์ชั่น add_content_after($ เนื้อหา) { $after_content = “ตัวอย่างนโยบายความคิดเห็นของเราหลังจากโพสต์เนื้อหา”; $fullcontent = $เนื้อหา $after_content; ส่งคืน $fullcontent; }
เพิ่มเนื้อหาก่อน the_content ในหน้า WordPress หรือ Post
ในบางกรณี คุณอาจต้องการเพิ่มเนื้อหาก่อน the_content ตัวอย่างเช่น เมื่อฉันเพิ่งสร้างเว็บไซต์สัตว์เลี้ยง ฉันจำเป็นต้องระบุรายละเอียดของสายพันธุ์สุนัขก่อนจึงจะสามารถแสดงเนื้อหาดังแสดงในภาพด้านล่าง:
แม้ว่าในโครงการนี้ ฉันจะใช้วิธีการที่แตกต่างออกไป แต่ถ้าคุณต้องการแสดงเนื้อหาก่อน the_content คุณจะยังคงใช้ตัวกรองที่แชร์ด้านบน และความแตกต่างเพียงอย่างเดียวคือเมื่อคุณเข้าร่วมตัวแปร $fullcontent
ในกรณีนี้ คุณจะเริ่มด้วยเนื้อหาที่คุณต้องการแสดงก่อนดังที่แสดงด้านล่าง:
add_filter('the_content', 'add_content_before'); ฟังก์ชั่น add_content_before($ เนื้อหา) { $before_content = “ตัวอย่างนโยบายความคิดเห็นของเราก่อนโพสต์เนื้อหา”; $fullcontent = $before_content . $เนื้อหา ; ส่งคืน $fullcontent; }
ผลลัพธ์ควรแสดงตามที่เน้นในภาพด้านล่าง:
เพิ่มเนื้อหาก่อนและหลัง the_content ในหน้า WordPress หรือ Post
คุณยังสามารถมีสถานการณ์รวมที่คุณต้องการแสดงเนื้อหาก่อนและหลัง the_content ซึ่งสามารถทำได้โดยใช้รหัสต่อไปนี้:
add_filter('the_content', ' add_content_before_and_after); ฟังก์ชั่น add_content_before_and_after($ เนื้อหา) { $before_content = “ตัวอย่างนโยบายความคิดเห็นก่อนและหลังการโพสต์เนื้อหา”; $after_content = “ตัวอย่างนโยบายความคิดเห็นก่อนและหลังการโพสต์เนื้อหา”; $fullcontent = $before_content . $เนื้อหา $after_content; ส่งคืน $fullcontent; }
ผลลัพธ์ควรแสดงตามที่เน้นในภาพด้านล่าง:
เพิ่มเนื้อหาก่อนและหลัง the_content และใน Custom Post Types
หากคุณต้องการเพิ่มเฉพาะเนื้อหานี้สำหรับประเภทโพสต์ที่กำหนดเองโดยเฉพาะ คุณสามารถเพิ่มตรรกะบางอย่างที่กำหนดว่าเรากำลังดูประเภทโพสต์ที่กำหนดเองหรือไม่ และถ้าเป็นเช่นนั้นเราจะเพิ่มเนื้อหาอื่น เราจะส่งคืน the_content เริ่มต้น
ในกรณีนี้ หากประเภทโพสต์ที่กำหนดเองของคุณมีชื่อว่า 'books' รหัสควรเป็นดังนี้:
///4 ขั้นตอนในการเพิ่มเนื้อหาใหม่ให้กับเทมเพลตหน้าประเภทโพสต์ที่กำหนดเองโดยเฉพาะ add_filter('the_content', 'add_new_content_after_books_custom_post_type'); ฟังก์ชั่น add_new_content_after_books_custom_post_type($ เนื้อหา) { //1) ตรวจสอบว่าเราอยู่ในโพสต์เดียวและประเภทโพสต์เท่ากับหนังสือเช่นกระสุนของประเภทโพสต์ที่กำหนดเอง ถ้า (is_singular("หนังสือ")){ //2) เพิ่มเนื้อหาใหม่ให้กับตัวแปร $new_books_content = "นี่คือเนื้อหาหนังสือใหม่ที่จะเพิ่มหลังจากประเภทโพสต์หนังสือที่กำหนดเอง" $aftercontent = $new_books_content; $fullcontent = $เนื้อหา $ aftercontent; //3) ส่งคืนครั้งแรกสำหรับประเภทโพสต์ที่กำหนดเองหากเงื่อนไขเป็นจริง ส่งคืน $fullcontent; }อื่น{ //4) หากเป็นหน้าอื่นหรือโพสต์ที่ไม่ใช่หนังสือ cpt ให้ส่งคืน the_content เริ่มต้นโดยไม่มีเนื้อหาเพิ่มเติม ส่งคืนเนื้อหา $; } }
ห่อ
ตามที่เราได้สรุปไว้ในโพสต์นี้ การเพิ่มเนื้อหาหลัง the_content หรือก่อนหน้านั้นไม่ควรเป็นงานที่ยาก คุณสามารถคัดลอกข้อมูลโค้ดไปยังไฟล์ functions.php ของธีมของคุณได้อย่างรวดเร็ว และควรใช้งานได้
ในฐานะนักพัฒนา WordPress มืออาชีพ อาจเป็นประโยชน์ในการเรียนรู้เพิ่มเติมเกี่ยวกับตะขอเกี่ยวกับการดำเนินการของ WordPress และโดยเฉพาะอย่างยิ่งตะขอตัวกรอง ฉันหวังว่าคุณจะพบว่าบทช่วยสอนนี้มีประโยชน์ และจะแชร์กับนักพัฒนาและเพื่อนๆ ของคุณ