Tôi có thể tạo tiện ích con Bài đăng gần đây của riêng tôi hoặc tùy chỉnh tiện ích hiện có không?


14

Tôi muốn bật tiện ích Bài đăng gần đây với khả năng hiển thị liên kết "Xem tất cả" khi có nhiều bài đăng hơn tôi hiện có tiện ích được đặt để hiển thị.

Tôi cũng muốn có thể loại trừ các danh mục hoặc bài đăng nhất định khỏi nó.

Có thể thực hiện thông qua chức năng.php của chủ đề của tôi không?

(1) Tùy chỉnh tiện ích hiện có hoặc (2) Tạo bản sao của tiện ích mà tôi có thể tùy chỉnh?


1
Để đọc thêm, API Widgets là một tài nguyên hữu ích.
manafire

Câu trả lời:


20

Thông thường tốt nhất là sao chép cái hiện có, đặt tên cho cái gì đó độc đáo và sau đó thêm chức năng của riêng bạn.

Sao chép WP_Widget_Recent_Postslớp từ wp-gồm / class-wp-widget-Recent-tests.php vào hàm.php của bạn (hoặc, tốt nhất là, một tệp khác trong chủ đề của bạn dành riêng cho các widget) và đổi tên thành một thứ khác, nhưMy_Widget_Recent_Posts

Thêm chức năng của bạn trong đó.

Đừng quên gọi register_widget('My_Widget_Recent_Posts')là một phần của initgiai đoạn là tốt.


+1 Ngọt ngào. Ok, tôi đã thêm nó vào một tập tin widget tùy chỉnh đặc biệt mà tôi đã "bao gồm" thông qua "allow_once ()" trong hàm.php của mình. Tuy nhiên, mặc dù tôi đã thay đổi tên lớp, nó dường như chiếm lấy tiện ích WP Recent Post mặc định. Có ý kiến ​​gì không?
N2Mystic

2
Bạn phải gán một tên duy nhất cho widget. parent::__construct('recent-posts', __('Recent Posts'), $widget_ops); 'recent-posts'nên được thay đổi thành một cái gì đó như 'my-recent-posts', và bạn cũng nên thay đổi nhãn thành một cái gì đó làm cho tiện ích có thể nhận dạng là của bạn:'My Recent Posts'
Bendoh

3
Để khởi tạo widget của tôi, tôi đã phải thêm add_action( 'widgets_init', create_function( '', 'register_widget( "My_Widget_Recent_Posts" );' ) );vào functions.php.
manafire
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.