ฉันสามารถสร้างวิดเจ็ต“ โพสต์ล่าสุด” ของฉันเองหรือปรับแต่งที่มีอยู่ได้หรือไม่?


14

ฉันต้องการเปิดใช้งานวิดเจ็ตโพสต์ล่าสุดที่มีความสามารถในการแสดงลิงก์ "ดูทั้งหมด" เมื่อมีการโพสต์มากกว่าที่ฉันได้ตั้งวิดเจ็ตให้แสดง

ฉันต้องการยกเว้นหมวดหมู่หรือโพสต์บางประเภท

เป็นไปได้ไหมที่จะทำผ่านทางฟังก์ชั่นของธีมของฉัน?

(1) ปรับแต่งวิดเจ็ตที่มีอยู่หรือ (2) สร้างสำเนาของมันที่ฉันสามารถปรับแต่ง?


1
สำหรับการอ่านเพิ่มเติมWidgets APIเป็นทรัพยากรที่มีประโยชน์
manafire

คำตอบ:


20

โดยปกติแล้วจะเป็นการดีที่สุดที่จะคัดลอกไฟล์ที่มีอยู่ตั้งชื่อสิ่งที่ไม่ซ้ำกัน

คัดลอกWP_Widget_Recent_Postsคลาสจาก wp-include / class-wp-widget-ล่าสุด-posts.php ลงใน functions.php ของคุณ (หรือโดยเฉพาะอย่างยิ่งไฟล์อื่นในชุดรูปแบบของคุณที่อุทิศให้กับวิดเจ็ต) และเปลี่ยนชื่อเป็นอย่างอื่นเช่นMy_Widget_Recent_Posts

เพิ่มฟังก์ชั่นการใช้งานของคุณ

อย่าลืมโทรregister_widget('My_Widget_Recent_Posts')เป็นส่วนหนึ่งของinitเฟสด้วย


+1 น่ารัก ตกลงฉันเพิ่มลงในไฟล์วิดเจ็ตที่กำหนดเองพิเศษที่ฉันมี "รวม" ผ่าน "require_once ()" ในฟังก์ชั่นของฉัน อย่างไรก็ตามถึงแม้ว่าฉันจะเปลี่ยนชื่อคลาส แต่ดูเหมือนจะเข้าแทนที่วิดเจ็ต WP ล่าสุดโพสต์ ความคิดใด ๆ
N2Mystic

2
คุณต้องกำหนดชื่อที่ไม่ซ้ำให้กับวิดเจ็ต parent::__construct('recent-posts', __('Recent Posts'), $widget_ops); 'recent-posts'ควรเปลี่ยนเป็นสิ่งที่ชอบ'my-recent-posts'และคุณควรเปลี่ยนป้ายกำกับเป็นสิ่งที่ทำให้เครื่องมือสามารถระบุตัวตนของคุณได้เช่นกัน:'My Recent Posts'
Bendoh

3
เพื่อ init เครื่องมือของฉันฉันมีการเพิ่มการadd_action( 'widgets_init', create_function( '', 'register_widget( "My_Widget_Recent_Posts" );' ) ); functions.php
manafire
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.