When I create sites for clients, I like to give them as much information as I can. I create video tutorials for them that show how to use their new site. I've gone about supplying these tutorials and general information they should have in various ways. What I have ultimately decided to do now is to simply create a link to a help page within the site itself that contains everything they need. This keeps it all centrally located and makes it available to whomever they would like to manage their site.
To accomplish this in Wordpress I have created a tiny custom plugin. All it does is add a Help link to the admin menu that goes to a backend page with all of their stuff. Since it is a plugin, I can reuse it over and over and just customize the text needed for each site. I could theoretically use a regular page on the site for all of this but I like keeping it in the admin section and I have easy control over who gets access to it by user level. I set it to a default of user level 5 for access since this is the level where folks can create new posts and pages and will be in need of the tutorials.
Now I am not a plugin writer. I have only dipped a toe in once or twice and prefer to use already established plugins for my needs. This is a really, really simple plugin to "write" so even if you aren't very comfortable with PHP or know nothing of Wordpress plugins, this is really easy to use and figure out what to edit. The code is taken verbatim from the Wordpress codex on Menus.
Here is the skeleton of what I use:
<?php
/*
Plugin Name: Help Menu
Description: Adds a site help link to the admin menu
Author: Addison Berry
*/
// mt_add_pages() is the sink function for the 'admin_menu' hook
function mt_add_pages() {
// Add a new top-level menu:
// The first parameter is the Page name(Site Help), second is the Menu name(Help)
//and the number(5) is the user level that gets access
add_menu_page('Site Help', 'Help', 5, __FILE__, 'mt_toplevel_page');
}
// mt_toplevel_page() displays the page content for the custom Test Toplevel menu
function mt_toplevel_page() {
echo '
<div class="wrap">
<h2>Site Help</h2>
<p>This page contains information and tutorials that are specific to your site.
If you have trouble with anything on this page contact Addison Berry of
<a href="<a href="http://rocktreesky.com">rocktreesky</a>" rel="nofollow">http://rocktreesky.com">rocktreesky</a></a> by sending an email using the <a href="<a href="http://rocktreesky.com/contact">
" rel="nofollow">http://rocktreesky.com/contact">
</a> rocktreesky contact form</a>.</p>
<h3>Quick Questions</h3>
<h4>I don\'t want people to see the edit link/be able to edit my site!</h4>
<p>Those edit links only appear to you when you log in to the site as the admin.
The public will NEVER see them and even other users with accounts won\'t see
them unless you give them the rights to be able to edit something. To get rid of
the links when you visit the site you must Sign Out of the admin account. You
can do this from the administration pages in the upper right-hand corner.</p>
<h3>Video Tutorials</h3>
<p>Please note that these tutorials require a Flash Player, available to
<a href="<a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
" rel="nofollow">http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=Shockw...</a> download for free from Adobe</a>.</p>
<ul>
<li><a href="/wp-content/uploads/filename.swf">How to edit existing pages</a></li>
<li><a href="/wp-content/uploads/filename.swf">How to create a new page or post</a></li>
</ul>
</div>
';
}
// Insert the mt_add_pages() sink into the plugin hook list for 'admin_menu'
add_action('admin_menu', 'mt_add_pages');
?>
So, obviously you would change out the stuff that is specific to my site, mainly the html content between the echo ' and '; lines, and then just save it with a name that won't conflict with other plugins you use (e.g. siteHelp.php). Load it up like any other Wordpress plugin, activate it and you should see a Help link at the end of the admin menu. Easy-peasy.
Comments
THANK YOU
Submitted by Holly Mann on 23 December 2007 - 4:06amTHANK YOU! I love you - this simple plugin saved me a lot of time! You are the best - so much appreciated.
Thanks!
Submitted by Gyrus on 3 March 2008 - 5:18pmMany thanks! Simple, and just what I needed.
Good Idea
Submitted by WordPress Stuff on 27 April 2008 - 6:57pmThis was a great idea. I'm sure many webmaster will simply love this. Are there any version issues? Also will this function with WordPres 2.5x versions?
Don't know about versions
Submitted by addi on 27 April 2008 - 10:00pmI haven't built a Wordpress site in well over a year so the last version I used was 2.1 and I'm not sure that I used this snippet with that site. This was written when using the 2.0 series of Wordpress.
If anyone tests it out and could report back one way or the other that would be great.
Thank you. This article was
Submitted by asv2001 on 24 May 2008 - 11:56amThank you. This article was very helpful!
Version Testing
Submitted by Marco P.S. on 11 August 2008 - 12:02pmWhat a great tool for providing the technologically-challenged an easy resource. Just tested it in Wordpress 2.7 and it seems to have worked fine. Thanks!
bringup up an error for me
Submitted by Steve on 4 September 2008 - 6:05amThis looks great.
I'm getting an error running this on 2.5.1 though when I try to log out after activating this.
Warning: Cannot modify header information - headers already sent by (output started at /home/flyingfox/go4/www/testpad/html/wp-content/plugins/test.php:1) in /home/flyingfox/go4/www/testpad/html/wp-login.php on line 202
... [continues]
thanks
Submitted by emeryclark on 23 December 2008 - 12:04pmthis is a great plugin! thank you so much for your contribution to the Wordpress community!
works with 2.7
Submitted by A mysterious st... on 4 January 2009 - 10:45pmeverything works fine with wordpress 2.7
checked with wordpress 2.8.4
Submitted by A mysterious st... on 12 September 2009 - 8:00amWorks fine with 2.8.4, i have a small question, how to add subpages to help menu ..
like:
Help
-about
-how to
Wow. it's easy.
Submitted by Alex on 16 April 2010 - 12:38pmI'm so lucky to get here to see your plugin example. Thank you so much. You save me a lots of time.
A great, but simple plugin.
Submitted by Zac on 18 July 2010 - 8:42pmThis saved me a lot of time, and if you wanted to know it works fine in Wordpress 3.0.
Thanks a lot
Submitted by A not so myster... on 10 August 2010 - 4:23pmThanks a lot. I was having a lot of trouble with a "tutorial".
Works also on wordpress 3.01
Perfect
Submitted by Will on 27 September 2010 - 5:53pmDropped it into functions.php and off I went.
Thanks very much.
i love you too!
Submitted by A mysterious st... on 2 December 2010 - 4:02pmclass! - was dreading having to figure this one out! - fair play!
I become comfortable with PHP
Submitted by A mysterious st... on 15 December 2010 - 4:13amI become comfortable with PHP by writing a few simple Wordpress Plugins so this is a great place to start.
Cool!!
Submitted by Hassan Akhtar on 20 December 2010 - 4:14amIt works fine with wordpress 3.0.3!!
I would like to add an icon to my new page though.
Thanks
THANQ
Submitted by Htalk on 22 December 2010 - 6:37amTHANQ sooooo much for your cade....helped a lot :)
It works with 3.0.4
Submitted by gnim on 7 January 2011 - 3:44pmThanks for sharing! Awesome and flawlessly!
i appreciate you i liked the
Submitted by wordpress seo on 3 June 2011 - 7:09ami appreciate you i liked the way you work for your clients it is amazing and the skeleton yo put in the tutorial is very helpful for me :)
Thanks a lot
Submitted by Niladri Banerjee on 18 August 2011 - 7:53amOnly two words to explain these article. "Best Ever"
Thanks
Submitted by jamuna on 15 May 2012 - 10:40amIts really working good. Thanks for your help dude.... This idea make my job very easily
Sorry It shows following errors...
Submitted by Amit Mehera on 9 June 2012 - 1:02pmSorry It shows following errors...
The package could not be installed. PCLZIP_ERR_BAD_FORMAT (-10) : Unable to find End of Central Dir Record signature