Warning: Use of undefined constant SH_CONTEXTUAL_HELP_FOLDER - assumed 'SH_CONTEXTUAL_HELP_FOLDER' (this will throw an Error in a future version of PHP) in /home/customer/www/wcoc14.dauid.us/public_html/wp-content/plugins/sh-contextual-help/shcontextual-help.php on line 32

Warning: Use of undefined constant SH_CONTEXTUAL_HELP_PATH - assumed 'SH_CONTEXTUAL_HELP_PATH' (this will throw an Error in a future version of PHP) in /home/customer/www/wcoc14.dauid.us/public_html/wp-content/plugins/sh-contextual-help/shcontextual-help.php on line 33

Warning: Use of undefined constant PLUGIN_BASENAME - assumed 'PLUGIN_BASENAME' (this will throw an Error in a future version of PHP) in /home/customer/www/wcoc14.dauid.us/public_html/wp-content/plugins/sh-contextual-help/shcontextual-help.php on line 34

Follow along at http://wcoc14.dauid.us!

Viewing Notes

How to see this presentation

Some hotkeys:

  • Arrow keys to navigate (slide on touch devices)
  • H = highlight any code snippets
  • P = toggle speaker notes (if any)
  • F = fullscreen viewing
  • W = toggle widescreen
  • O = see an overview
  • ESC = toggles off these goodies

Who Is This Guy?


Dave Winter


life long geek

first WordPress site in 2008

opened design business in 2009

began teaching web design in 2010

first WordPress course in 2013

first Plugin in 2014

I am a UX Designer

Remember When You First Met WordPress?

There was a Learning Process


I Learned Those Things By Doing

Chances are, so did you.

Your Clients Want to Learn Them, Too

And, Most of the Time, Everybody’s Happy


Something Goes Terribly, Terribly Wrong

I’ve had clients accidentally:


  • change theme settings
  • delete a plugin
  • install a “bad” plugin
  • change reading settings


use the “editor” to add code to functions.php file

– they deleted everything else in that file





And, if you’re anything like me,


your gut feeling tells you to do this…

But, There is a Better Way

User Role Editor



Create custom user-roles for your clients!


change user access

prevent deleted themes

prevent deleted plugins

 works with many 3rd party plugins

Admin Menu Editor



Hide un-needed menu items from your clients!


change menu icons

sort items with drag & drop

create new menu items

move submenu items to different submenu

control menu item access rights


(live demo)



 So… Admin Menu Editor lets us


add menu items


give CSS classes to a menu item

Let’s Take this One Step Further…



Let’s divide the menu into better sections



by default, the menu gets pretty long and crowded for larger projects

we can fix this problem…




…we can add a new menu item with a .special class

and style it 



we’ll enqueue a function that has some CSS in it 

Custom Admin Styles


function admin_menu_styles() {

    echo '<style type="text/css">


add_action('admin_head', 'admin_menu_styles');


free plugins coming next!

Style the Custom Menu Items We Create



this plugin already targets the 



class we’ll create


download my plugin here – dauidus-menu-styles

(live demo)


It’s the Little Things




Since I’ve started doing this, my “client confusion” rate has dropped significantly


That means less time doing tedious tasks and more time being productive!

But, Sometimes Our Clients Still Need Help

And That’s OK… We Can Still Help Them




but, only after we’ve given them a way to help themselves

Custom Instructional Text

Add Post Type Instructions



Easily add instructions to the “edit” page


works in all default metaboxes

helps remind forgetful editors to edit correctly

works with any custom post type

(live demo)


So, Why Change This? It’s Not Broken…

A few reasons here:


the default help content doesn’t always apply

if content needs to be entered a certain way, clients need to know how

people like premium features




with just a little bit of work, we can integrate premium features for every client

those premium features can set you apart

Every Little Change Can Make a Huge Difference

Almost There… Almost There…

One More Thing…

We Can Set Content Requirements for Non-Admin Users!

Requirements Checklist

(live demo)