在Wordpress中创建一个简单的小部件

窗口小部件是一个适合您网站侧面菜单的小程序。您可以使用Wordpress博客的“管理”部分来移动这些小部件,默认安装有很多小部件可供选择。

要创建支持小部件的主题,您可以按照创建小部件证明的Wordpress主题中的说明进行操作。

您可以在functions.php模板文件中或插件中的两个位置之一创建窗口小部件。要显示一个小部件,您需要调用一个名为的函数register_sidebar_widget()。该函数带有两个参数,即admin部分中小部件的名称,以及控制小部件所包含内容的回调函数。

register_sidebar_widget(__('My Widget'), 'myWidgetFunction');

回调函数采用一个名为$args的参数,该参数用于传入register_sidebar()函数调用中设置的所有参数。您要做的第一件事是使用该extract()函数将$args变量转换为单独的变量。使用此功能后,您将可以访问诸如$before_widget,$after_widget,$before_title和$after_title之类的变量。

以下是一个非常简单的窗口小部件回调函数的示例,该函数可生成带有少量文本的窗口小部件。

function myWidgetFunction($args) {
 extract($args);
 echo $before_widget;
 echo $before_title . __('My Widget') . $after_title;
 echo '<ul><li>The contents of my widget go right here.</li></ul>';
 echo $after_widget;
}

当然,如果您希望小部件做一些更有趣的事情(这可能是您的意图),则可以用循环,函数调用或任何您需要的内容替换此文本行。

当您访问博客管理员“设计”部分中的窗口小部件页面时,现在将看到一个名为“我的窗口小部件”的窗口小部件,您可以将其添加到博客上的当前窗口小部件中。

最后,您可能已经注意到,您的admin部分中没有该窗口小部件的描述性文本。要添加它,您必须使用wp_registered_widgets变量,该变量包含一组已注册的小部件。您需要引用窗口小部件并设置一个名为description的选项,以在您的管理部分中设置描述。

$wp_registered_widgets[sanitize_title('My Widget')]['description'] = 'A description of your widget.';

这花了我相当长的时间来查找,而且似乎不在任何Wordpress Codex中。