我可以创建自己的“最近帖子”小部件还是自定义现有小部件?


14

我想启用“最近的帖子”小部件,使其能够在“帖子全部显示”数量超过当前设置的数量时显示“查看全部”链接。

我还希望能够从中排除某些类别或帖子。

是否可以通过我主题的functions.php进行操作?

(1)自定义现有的小部件,或者(2)创建我可以自定义的小部件的副本?


1
为了进一步阅读,Widgets API是有用的资源。
manafire 2012年

Answers:


20

通常最好复制现有的名称,将其命名为唯一的名称,然后添加自己的功能。

WP_Widget_Recent_Posts类从wp-includes / class-wp-widget-recent-posts.php复制到functions.php(或者最好是主题中的另一个文件专门用于小部件),然后重命名为其他名称,例如My_Widget_Recent_Posts

在其中添加您的功能。

别忘register_widget('My_Widget_Recent_Posts')了在init阶段中也要打电话。


+1甜。好的,我将其添加到我在functions.php中通过“ require_once()”“包含”的特殊自定义窗口小部件文件中。但是,尽管我更改了类名,但它似乎接管了默认的WP Latest Posts小部件。有任何想法吗?
N2Mystic 2011年

2
您必须为窗口小部件分配一个唯一的名称。 parent::__construct('recent-posts', __('Recent Posts'), $widget_ops); 'recent-posts'应该更改为'my-recent-posts',并且您还应该将标签更改为使小部件可识别为您的标签:'My Recent Posts'
Bendoh 2011年

3
要初始化我的小部件,我必须添加add_action( 'widgets_init', create_function( '', 'register_widget( "My_Widget_Recent_Posts" );' ) );到中functions.php
manafire 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.