Simple WordPress Example Plugin
I wrote a plugin for wordpress this weekend and all the documentation and guides were fairly long winded. This is probably a good thing for most people but I never like large amounts of reading for something simple. So the following outlines and explains a very short and simple plugin for wordpress.
WordPress uses hooks to give plugins certain places to execute code. Hooks are created by using the add_action function where the first parameter is the desired, predefined hook and the second is the name of the function that you want to be called at that point. Check out the list of hooks.
In this example I first hook the install function which will be run when the plugin is activated. The second hook defines a function that will be called when a page is loaded and the footer code is executed. The third hook is for the admin menu. This one is a bit of a two step hook. For some reason wordpress makes you call a second function on top of the add_action function in order to get an entry in the admin panel. So the add_options_page is used for just that. It creates a page under the settings header called ‘WP Example’. the third parameter is the name of the function that creates the admin options page.
The commented out name and example at the top of the script is actually used by wordpress when you are activating and deactivating the plugin.
Here’s the code:
<?php
/* Plugin Name: Example Plugin
* Description: Simple Example Plugin
* */
//hook the installation function to the activation plugin
register_activation_hook(__FILE__,'install_example');
//run the alert_user function in the wp_footer
add_action( 'wp_footer', 'alert_user', 20);
//create a admin page
add_action('admin_menu', 'my_example_admin_menu');
//make the example_options function is the admin option page
function my_example_admin_menu() {
add_options_page( 'WP Example Options',
'WP Example',
8,
__FILE__,
'example_options');
}
//This code is run on the admin options page for this plugin
function example_options() {
echo "<div>This Simple Example Plugin Welcomes Every Visitor</div>";
}
//This funtion is called in the wp_footer and welcomes every visitor
function alert_user()
{
echo "<script type='text/javascript'>".
"alert('Welcome to My Wordpress Blog');".
"</script>";
}
//This function is run when we activate the plugin
//It is where we would put all our create table and option code
//Since this is a simple example we won't do anything here
function install_example()
{
}
?>
If you put all that in a .php file and upload it to your wp-content/plugins directory you can activate it, deactivate it, view the options page and it will alert every user that comes to your site.
June 9th, 2009 at
[…] my previous wordpress example plugin I’m going to demonstrate how to use ajax within the admin panel. WordPress uses the Simple […]
April 23rd, 2010 at
THANK YOU. That’s how the worpress docs should have said it in the first place….or at least they should link to a simple example exactly like this at the end of their wordy doc.
You just save me lots of time/frustration. Thanks again!