What You'll Need
To follow this series, you'll need:
- A development installation of WordPress
- A code editor
Setting Up the Plugin
First you need to set up your plugin. Create a new file in your
wp-content/plugins
directory. I've called mine tutsplus-list-subpages-widget.php
.
Add the following to the file:
1
2
3
4
5
6
7
8
9
| <?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 */ ?> |
Obviously you'll want to change the author name and url, but this gives WordPress what it needs to display the plugin in the Plugins screen.
Save your plugin file.
Creating the Widget Class
The next step is to create a new class to extend the
WP_Widget
class.
Type this code into your plugin file:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
| <?php class Tutsplus_List_Pages_Widget extends WP_Widget { function __construct() { } function form( $instance ) { } function update( $new_instance , $old_instance ) { } function widget( $args , $instance ) { } } ?> |
Let's have a look at what that class consists of:
- the
__construct
function will do what you expect - it will construct the function. Inside that function you'll define things like the ID of the widget, its title and description. - the
form
function will create the form in the Widgets screen that lets users customise or activate the widget. - the
update
function ensures that WordPress updates any settings that users input in the Widgets screen. - the
widget
function defines what's output by the widget on the front end of the site.
The last three of these have parameters which I'll explain in more detail in the relevant tutorials.
Registering the Widget
Your widget won't work unless you register it with WordPress. Below your class, add the function and hook to do this:
1
2
3
4
5
6
7
8
| <?php function tutsplus_register_list_pages_widget() { register_widget( 'Tutsplus_List_Pages_Widget' ); } add_action( 'widgets_init' , 'tutsplus_register_list_pages_widget' ); ?> |
The
register_widget()
function is a WordPress function whose single parameter is the name of the class you just created.
You then hook your function to the
widgets_init
hook to ensure that it is picked up by WordPress.
Note: Your widget won't work yet and won't be displayed on the Widgets screen, so don't worry about activating the plugin just yet. You'll need to complete all the steps in this series for it to work.
No comments:
Post a Comment