本文是系列教程《创建你的第一个WordPress小工具》的第二部分,向你展示如何创建属于你的第一个WordPress小工具。在第一部分的教程中,你已经了解了WordPress小工具API(Application Programming Interface,应用程序编程接口)和the WP_Widget类。
你需要做的是
跟随本教程,你需要
- 安装一个WordPress开发环境
- 一个代码编辑器
安装插件
首先你要做的是安装你的插件。在你的 wp-content/plugins 目录下创建一个新文件(可以命名为 tutsplus-list-subpages-widget),在该文件夹中新建一个名为“tutsplus-list-subpages-widget.php”的php文件。
将以下內容添加到文件中:
<?php /*Plugin Name: List Subpages Widget Description: This widget checks if the current page has parent or child pages and if so, outputs a list of the highest ancestor page and its descendants. This file supports part 1 of the series to create the widget and doesn't give you a functioning widget. Version: 0.1 Author: Rachel McCollin Author URI: http://rachelmccollin.com License: GPLv2 */ ?> |
显然,你会想改掉作者的名字和url(网址),而这也恰好决定了WordPress在插件界面需要显示的内容。
保存你的插件文件。
创建小工具类
下一步就是创建一个新类来拓展 WP_Widget 类。
将以下代码复制到你的插件文件中:
<?php class Tutsplus_List_Pages_Widget extends WP_Widget { function __construct() { } function form( $instance ) { } function update( $new_instance, $old_instance ) { } function widget( $args, $instance ) { } } ?> |
让我们来看一看这个新类包含些什么:
- __construct 函数会完成你所期望的——它会构造一个函数。在这个函数里面你可以做出一些定义,比如WordPress小工具的ID、标题和说明。
- form函数会在WordPress小工具界面创建表单,让用户来定制或者激活它。
- update函数确保WordPress能及时更新用户在WordPress小工具界面输入的任何设置。
- widget函数则定义了在网站前端通过WordPress小工具输出的内容。
最后这三个函数的参数我会在相关课程中做进一步详细的解释。
注册小工具
只有通过WordPress进行了注册,你的WordPress小工具才能工作。在你的新类下面加入以下函数和钩子:
<?php function tutsplus_register_list_pages_widget() { register_widget( 'Tutsplus_List_Pages_Widget' ); } add_action( 'widgets_init', 'tutsplus_register_list_pages_widget' ); ?> |
register_widget()函数是一个WordPress函数,它唯一的参数就是你刚刚创建的类的命名。
随后将你创建的函数挂入 widgets_init 钩子,确保它可以被WordPress拾起。
注:现在你的WordPress小工具还是将无法工作,也不会在小工具界面上显示,因此不用担心激活尚未弄好的插件。你需要完成本系列教程中的所有步骤,才能使它正常工作。
小结
现在你已经开始创建你的WordPress小工具了。你已经为你的WordPress小工具创建了一个插件,并建立了一个新类去创建和注册了它。
下一课你将学习如何使用 __construct 函数构建你的WordPress小工具。
原文出自:http://code.tutsplus.com/tutorials/coding-and-registering-your-wordpress-widget–cms-22404
由 stonetan@WordPress大学 原创翻译,未经允许,禁止转载和采用本译文。
来源:
https://www.wpdaxue.com/coding-and-registering-your-wordpress-widget.html