Ready to get started?Download WordPress

Plugin Directory


Delivers a complete set of WordPress tutorial videos directly within the dashboard. Choose which videos to show, or add your own!

How do I get an API key?

Simply go to: WP101Plugin.com and follow the instructions to set up an API key in less than a minute.

Can I choose which video topics are displayed?

Yes! You can selectively hide or show individual tutorial videos. Simply go to the Settings panel to choose which videos you'd like to include.

Can I add my own custom videos?

Yes! You can add your own custom videos, and they'll appear at the bottom of the list of tutorial videos, along with the WP101 videos. Visit the Settings panel to add new videos by simply pasting the video embed code from your video hosting provider.

Why aren’t the WordPress SEO videos showing up?

The tutorial videos for the WordPress SEO Plugin by Yoast will only appear in the list if that plugin is also installed on the same site. No sense showing videos that don’t apply to a particular site, now is there?

The plugin was installed by my developer, but their API key has expired. What do I do?

You can ask your developer to renew their subscription, or you can go to WP101Plugin.com to start your own subscription and get access to updated content.

Can I hardcode my API key into the plugin for use across multiple installations?

Yes! Simply enter your API key into the wp101.php file and then install your customized version of the plugin across your clients' sites.

Or, if you prefer, define the $_wp101_api_key variable within your wp-config file. Either way, your API key will be preserved when you upgrade to future versions of the plugin.

Can I limit access to the settings panel?

Yes! By default, all administrators have access to the settings panel. Optionally, you may choose a specific administrator who alone will have access to the settings panel.

We've also added a series of filters to allow for a couple helpful scenarios:

  • wp101_is_user_authorized - allows a developer to override the authorization routine. A great use case would be if someone's client has their user set to be the only admin, but the developer also needs to access the settings. Filtering this conditionally would allow for a whitelist of sorts.
  • wp101_default_settings_role - When counting admins, we default to counting the administrators. This filter can be used in conjunction with the wp101_settings_management_user_args filter to change the actual role that we're allowing for. A good example might be a site that actually has no administrator roles, but a custom role, like a store manager or something.
  • wp101_too_many_admins - This provides a sane default for what we consider to be too many admins for this UX. Drop-downs are pretty crappy when you're dealing with a bunch of options, so we have a super high limit of 100. This can be changed to whatever one desires.
  • wp101_settings_management_user_args - Used in conjunction with wp101_default_settings_role, this filters the array of arguments passed to get_users() to populate the drop-down.

Can I filter the list of videos, or add my own programmatically?

Absolutely! The WP101 Plugin comes with a number of helpful filters for adding, removing, or modifying existing videos from a number of functions. We'll walk through some of them, showing what you can do with them…


The wp101_get_help_topics filter is applied to the output of the get_help_topics() method. This supplies all of the default videos for the WP101 plugin. This filter, and indeed all of the filters, is passed an array of videos that looks something very much like the following:

1 => array( 
    'id'      => 1, 
    'title'   => 'The Dashboard', 
    'content' => '<iframe src="//player.vimeo.com/video/104639801" width="1280" height="720" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>' 
2 => array( 
    'id'      => 2, 
    'title'   => 'Posts vs. Pages', 
    'content' => '<iframe src="//player.vimeo.com/video/81744178" width="1280" height="720" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>' 
3 => array( 
    'id'      => 3, 
    'title'   => 'The Editor', 
    'content' => '<iframe src="//player.vimeo.com/video/81743148" width="1280" height="720" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>' 

Suppose you have a site where you aren't using any posts or pages. Not inconceivable, as you might be entirely dependent upon custom post types for a specific build. It would make great sense in this situation to remove the Posts vs. Pages video, as it would be irrelevant. Here's how you might do that:

add_filter( 'wp101_get_help_topics', function( $videos ) {

unset( $videos[2] );
return $videos;

} );

And voila! No more Posts vs. Pages video in the core help topics. Cool, right?


Maybe you have a really great plugin that you've made some instructional videos for, or someone else has made some tutorials that you'd like to include in the WP101 interface. That's awesome! The wp101_get_custom_help_topics filter is applied to the output of the get_custom_help_topics() method, which outputs custom videos directly after the core videos, if any exist. Here's an example of how you might add a custom help topic.

add_filter( 'wp101_get_custom_help_topics', function( $custom_videos ) {

$custom_videos['myplugin.1'] => array(
    'id'      => 'myplugin.1',
    'title'   => 'General Helpful Stuff',
    'content' => '<iframe src="//player.vimeo.com/video/12345678" width="1280" height="720" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen></iframe>'

return $custom_videos;
} );

And just like that, you have your own custom video inside WP101.


Say you want to hide a video - not necessarily remove it completely from WP101, but have it hidden by default, rather than shown. There's a filter for that:

add_filter( 'wp101_get_hidden_topics', function( $hidden_videos ) {
// As in the first example, we might want to hide the Posts vs. Pages video.  Instead of the whole array, we add the topic ID.
$topic_id = 2;

if ( ! in_array( $topic_id, $hidden_videos ) ) {
    $hidden_videos[] = $topic_id;

return $hidden_videos;
} );

And there we go, we've added a video to the hidden topics. Pretty sweet, right?

Note: All code examples are using anonymous functions, which work in PHP 5.3+. If you're using anything less than PHP 5.3, you have our condolences. Change the examples to use declared functions instead, unless you have a penchant for white.

Requires: 3.2 or higher
Compatible up to: 4.1.1
Last Updated: 2015-1-27
Active Installs: 10,000+


5 out of 5 stars


Got something to say? Need help?


Not enough data

0 people say it works.
0 people say it's broken.

100,1,1 100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
100,1,1 100,2,2
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1
100,1,1 100,1,1
50,2,1 100,1,1
100,2,2 100,1,1
100,1,1 100,1,1
100,1,1 100,1,1 100,1,1