WordPress.org

Ready to get started?Download WordPress

Plugin Directory

Easy Digital Downloads Toolbar

This plugin adds useful admin links and resources for the Easy Digital Downloads plugin to the WordPress Toolbar / Admin Bar.

Does this plugin work with the latest WP version and also older versions?

Yes, this plugin works really fine with the latest WordPress 3.3+ including latest 3.4-beta! And sorry, it DOES NOT work with older WordPress versions so please update your install if you haven't done yet :).

How are new resources being added to the admin bar?

Just drop me @deckerweb or Pippin Williamson @pippinsplugins a note via Twitter or via our contact pages and we'll add the link if it is useful for admins/ webmasters and the Easy Digital Downloads plugin ecosystem.

Is this plugin Multisite compatible?

Yes, it is! :) Works really fine in Multisite invironment - here I just recommend to activate on a per site basis so to load things only where and when needed.

In Multisite, could I "network enable" this plugin?

Yes, you could. -- However, it doesn't make much sense. The plugin is intented for a per site use as the admin links refer to the special settings for that certain site/blog. So if you have a Multisite install with 5 sites but only 3 would run "Easy Digital Downloads" then the other 2 sites will only see support links in the Toolbar / Admin Bar... I guess, you got it? :)

Though intended for a per site use it could make some sense in such an edge case: if all of the sites in Multisite use Easy Digital Downloads. This might be the case if you use Multisite for multilingual projects, especially via that awesome plugin: http://wordpress.org/extend/plugins/multilingual-press/

Why is there no admin settings page to this plugin?

This plugin has NO settings page because I believe it's just not neccessarry. All customizing could be done via filters, constants and regular WordPress user roles & capabilities. As the plugin is indended for a admin/ webmaster use that's the way to go. This way we can save the overhaul of an options panel/settings page, additional database storing & requests, uninstall routines and such. End result: a lightweight system that just works and saves clicks & time :-).

Can custom menu items be hooked in via theme/child theme or other plugins?

Yes, this is possible since version 1.2 of the plugin! There are two action hooks available for hooking custom menu items in -- eddtb_custom_main_items for the main section and eddtb_custom_group_items for the resource group section. Here's an example code:

add_action( 'eddtb_custom_group_items', 'eddtb_custom_additional_group_item' );
/**
 * Easy Digital Downloads Toolbar: Custom Resource Group Items
 *
 * @global mixed $wp_admin_bar
 */
function eddtb_custom_additional_group_item() {

    global $wp_admin_bar;

    $wp_admin_bar->add_menu( array(
        'parent' => 'ddw-edd-eddbar',
        'title'  => __( 'Custom Menu Item Name', 'your-textdomain' ),
        'href'   => 'http://deckerweb.de/',
        'meta'   => array( 'title' => __( 'Custom Menu Item Name Tooltip', 'your-textdomain' ) )
    ) );
}

Can certain sections be removed?

Yes, this is possible! You can remove the following links or sections: "Add-Ons" settings link, "Resources link group" at the bottom (all items), "German language stuff" (all items) and "Translations resources" (all items)

To achieve this add one, some or all of the following constants to your current theme's/child theme's functions.php or similar file:

/** Easy Digital Downloads Toolbar: Remove Add-On(s) Item(s) */
define( 'EDDTB_ADDONS_DISPLAY', FALSE );

/** Easy Digital Downloads Toolbar: Remove Resource Items */
define( 'EDDTB_RESOURCES_DISPLAY', FALSE );

/** Easy Digital Downloads Toolbar: Remove German Language Items */
define( 'EDDTB_DE_DISPLAY', FALSE );

/** Easy Digital Downloads Toolbar: Remove Translations Items */
define( 'EDDTB_TRANSLATIONS_DISPLAY', FALSE );

Can the the whole toolbar entry be removed, especially for certain users?

Yes, that's also possible! This could be useful if your site has special user roles/capabilities or other settings that are beyond the default WordPress stuff etc. For example: if you want to disable the display of any "Easy Digital Downloads Toolbar" items for all user roles of "Editor" please use this code:

/** Easy Digital Downloads Toolbar: Remove all items for "Editor" user role */
if ( current_user_can( 'editor' ) ) {
    define( 'EDDTB_DISPLAY', FALSE );
}

To hide only from the user with a user ID of "2":

/** Easy Digital Downloads Toolbar: Remove all items for user ID 2 */
if ( 2 == get_current_user_id() ) {
    define( 'EDDTB_DISPLAY', FALSE );
}

To hide items only in frontend use this code:

/** Easy Digital Downloads Toolbar: Remove all items from frontend */
if ( ! is_admin() ) {
    define( 'EDDTB_DISPLAY', FALSE );
}

In general, use this constant do hide any "Easy Digital Downloads Toolbar" items:

/** Easy Digital Downloads Toolbar: Remove all items */
define( 'EDDTB_DISPLAY', FALSE );

Available Filters to Customize More Stuff

All filters are listed with the filter name in bold and the below additional info, helper functions (if available) as well as usage examples.

eddtb_filter_capability_all

  • Default value: edit_theme_options
  • 4 Predefined helper functions:
    • __eddtb_admin_only -- returns 'administrator' role -- usage:
add_filter( 'eddtb_filter_capability_all', '__eddtb_admin_only' );
  • __eddtb_role_editor -- returns 'editor' role -- usage:
add_filter( 'eddtb_filter_capability_all', '__eddtb_role_editor' );
  • __eddtb_role_shop_manager -- returns 'shop_manager' role -- usage:
add_filter( 'eddtb_filter_capability_all', '__eddtb_role_shop_manager' );
  • __eddtb_role_shop_accountant -- returns 'shop_accountant' role -- usage:
add_filter( 'eddtb_filter_capability_all', '__eddtb_role_shop_accountant' );
  • __eddtb_role_shop_worker -- returns 'shop_worker' role -- usage:
add_filter( 'eddtb_filter_capability_all', '__eddtb_role_shop_worker' );
  • __eddtb_role_shop_vendor -- returns 'shop_vendor' role -- usage:
add_filter( 'eddtb_filter_capability_all', '__eddtb_role_shop_vendor' );
  • __eddtb_cap_manage_options -- returns 'manage_options' capability -- usage:
add_filter( 'eddtb_filter_capability_all', '__eddtb_cap_manage_options' );
  • __eddtb_cap_edit_theme_options -- returns 'edit_theme_options' capability -- usage:
add_filter( 'eddtb_filter_capability_all', '__eddtb_cap_edit_theme_options' );
  • __eddtb_cap_install_plugins -- returns 'install_plugins' capability -- usage:
add_filter( 'eddtb_filter_capability_all', '__eddtb_cap_install_plugins' );
  • Another example:
add_filter( 'eddtb_filter_capability_all', 'custom_eddtb_capability_all' );
/**
 * Easy Digital Downloads Toolbar: Change Main Capability
 */
function custom_eddtb_capability_all() {
    return 'activate_plugins';
}

--> Changes the capability to activate_plugins

eddtb_filter_main_icon

  • Default value: Easy Digital Downloads default logo graphic like in its official website
  • 11 Predefined helper functions for the 22 included colored/alternate icons, returning special colored icon values - the helper function always has this name: __eddtb_colornamehere_icon() this results in the following filters ready for usage:
add_filter( 'eddtb_filter_main_icon', '__eddtb_blue2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_brown2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_gray2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_green2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_khaki2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_orange2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_pink2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_red2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_turquoise2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_yellow2_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_blue_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_brown_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_gray_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_green_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_khaki_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_orange_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_pink_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_red_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_turquoise_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_yellow_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_alternate_icon' );

add_filter( 'eddtb_filter_main_icon', '__eddtb_theme_images_icon' );

--> Where the 2nd to last "alternate" icon returns the same icon as in the left-hand EDD menu!

--> Where the last helper function returns the icon file (icon-eddtb.png) found in your current theme's/child theme's images subfolder

  • Example for using with current theme/child theme:
add_filter( 'eddtb_filter_main_icon', 'custom_eddtb_main_icon' );
/**
 * Easy Digital Downloads Toolbar: Change Main Icon
 */
function custom_eddtb_main_icon() {
    return get_stylesheet_directory_uri() . '/images/custom-icon.png';
}

--> Uses a custom image from your active child theme's /images/ folder

--> Recommended dimensions are 16px x 16px

eddtb_filter_main_icon_display

  • Returning the CSS class for the main item icon
  • Default value: icon-edd (class is: .icon-edd)
  • 1 Predefined helper function:
    • __eddtb_no_icon_display() -- usage:
add_filter( 'eddtb_filter_main_icon_display', '__eddtb_no_icon_display' );
  • This way you can REMOVE the icon!
    • Another example:
add_filter( 'eddtb_filter_main_icon_display', 'custom_eddtb_main_icon_display_class' );
/**
 * Easy Digital Downloads Toolbar: Change Main Icon CSS Class
 */
function custom_eddtb_main_icon_display_class() {
    return 'your-custom-icon-class';
}

--> You then have to define CSS rules in your custom.css file or your child theme/skin stylesheet for your own custom class .your-custom-icon-class

eddtb_filter_main_item

  • Default value: "Downloads"
  • Example code for your functions.php file or similar file:
add_filter( 'eddtb_filter_main_item', 'custom_eddtb_main_item' );
/**
 * Easy Digital Downloads Toolbar: Change Main Item Name
 */
function custom_eddtb_main_item() {
    return __( 'Your custom main item', 'your-theme-textdomain' );
}

eddtb_filter_main_item_tooltip

  • Default value: "Easy Digital Downloads"
  • Example code for your functions.php file or similar file:
add_filter( 'eddtb_filter_main_item_tooltip', 'custom_eddtb_main_item_tooltip' );
/**
 * Easy Digital Downloads Toolbar: Change Main Item Name's Tooltip
 */
function custom_eddtb_main_item_tooltip() {
    return __( 'Your custom main item tooltip', 'your-theme-textdomain' );
}

eddtb_filter_edd_name

  • Default value: "EDD"
  • Used for some items within toolbar links to enable proper branding
  • Change things like in the other examples/principles shown above

eddtb_filter_edd_name_tooltip

  • Default value: "Easy Digital Downloads"
  • Used for some items within toolbar links to enable proper branding
  • Change things like in the other examples/principles shown above

Final note: If you don't like to add your customizations to your functions.php file or similar file of theme/child theme/skin you can also add them to a functionality plugin or an mu-plugin. This way you can also use this better for Multisite environments. In general you are then more independent from theme/child theme changes etc.

How can I hook in additional menu items from a plugin or theme?

This is possible! Plugin and theme developers could use the included hooks to add stuff to the main items or resource group items section. The hooks are:

  • eddtb_custom_main_items for the main section
  • eddtb_custom_group_items for the resource group section
  • Example code:
add_action( 'eddtb_custom_main_items', 'eddtb_add_custom_main_items' );
/**
 * Easy Digital Downloads Toolbar: Add Custom Main Items
 */
function eddtb_add_custom_main_items() {
    // Your custom stuff here, you might only use the WP Toolbar / Admin Bar API here!
}

Final note: I DON'T recommend to add customization code snippets to your theme's/ child theme's functions.php file! Please use a functionality plugin or an MU-plugin instead! This way you are then more independent from theme/ child theme changes etc. If you don't know how to create such a plugin yourself just use one of my recommended 'Code Snippets' plugins. Read & bookmark these Sites:

All the custom, branding and developer stuff code above can also be found as a Gist on GitHub: https://gist.github.com/2392882 (you can also add your questions/ feedback there :)

Requires: 3.3 or higher
Compatible up to: 3.5.2
Last Updated: 2013-2-15
Downloads: 9,228

Ratings

4 stars
4.6 out of 5 stars

Support

Got something to say? Need help?

Compatibility

+
=
Not enough data

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

100,2,2 100,2,2 100,4,4 100,5,5
100,4,4 100,2,2 100,5,5 100,5,5
100,1,1 100,2,2 80,5,4 100,6,6
100,4,4 100,2,2 100,4,4 100,6,6 100,2,2 100,4,4 100,2,2 100,4,4
100,5,5 100,2,2 100,4,4 100,5,5 100,2,2 100,4,4 100,2,2 100,4,4
100,1,1 100,2,2 100,4,4 100,5,5 100,2,2 100,4,4 100,2,2 100,4,4
100,4,4 100,2,2 100,5,5
100,1,1 100,2,2 100,4,4
100,4,4
100,3,3