Privilege Widget

Description

This plugin allows you to display widget items based on if a user is logged in, logged out or based on the role you have given the user.

This plugin allows fine-grained permissions to be added to each individual widget item to display or not display the item based on the
users logged in/logged out status or the role assigned to the user. This solves the problem of having to modify theme functions.php files to add in widget restrictions. The changes in functions.php is often overwritten by a theme update. This plugin removes that worry, as you can update the theme, independent of the plugin.

Screenshots

  • View of the rescriction option added to each widget in the admin panel so you can restrict the display of each widget.

Installation

  1. Upload the plugin folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ area in WordPress
  3. Go to Appearance > Widgets
  4. Add a widget to a sidebar.
  5. Edit the widget accordingly. First select whether you’d like to display the item to Logged out Users, Logged in Users (Selectable Roles), or All Users.
  6. Save the changes to each individual widget.

FAQ

Installation Instructions
  1. Upload the plugin folder to the /wp-content/plugins/ directory
  2. Activate the plugin through the ‘Plugins’ area in WordPress
  3. Go to Appearance > Widgets
  4. Add a widget to a sidebar.
  5. Edit the widget accordingly. First select whether you’d like to display the item to Logged out Users, Logged in Users (Selectable Roles), or All Users.
  6. Save the changes to each individual widget.
I cannot see the options for Privilege Widget under widgets in the Admin Panel?

You need to add the widget to a sidebar before you can change the display status on the widget.

As a developer what hooks are there for this plugin?

There are two hooks that have been provided for this plugin. The first hook is: ‘priv_widget_roles’. It can be used to allow other plugins to add roles to be checked by ‘Privilege Widget’:
add_filter( ‘priv_widget_roles’, ‘roles_to_add’, 10, 1 );

function roles_to_add($roles /* WP_RoleNames Array */) {
    $roles['new_role'] = 'New Role';
    return $roles;
}

The second hook is: ‘priv_widget_visibility’. It can be used for other plugins to filter the result for the front-end display of the widget items generated by ‘Privilege Widget’:
add_filter( ‘priv_widget_visibility’, ‘filter_FE_display’, 10, 2);

function filter_FE_display($visibility /* Boolean */, $item /* WP_POST Object*/) {
    if ($item->ID == '470' || $item->title == 'Logout') {
            $visibility = true;
    }
    return $visibility;
}

Contributors & Developers

“Privilege Widget” is open source software. The following people have contributed to this plugin.

Contributors

Translate “Privilege Widget” into your language.

Interested in development?

Browse the code, check out the SVN repository, or subscribe to the development log by RSS.

Changelog

1.7.3

  • Added hook support for the hooks ‘priv_widget_roles’ and ‘priv_widget_visibility’. See FAQ on usage.

1.7.2

  • Fixed styling for text in widget admin panel
  • Fixed styling for text in widget admin panel in responsive mode.
  • Changed ‘Logged In Users’ to ‘Logged In’
  • Changed ‘Logged Out Users’ to ‘Logged Out’
  • Changed ‘All Users’ to ‘All’

1.7.1

  • Fixed loading proper widget name in uninstall.php file from privWidget.php file

1.7

  • Fixed MAJOR bug that allowed display of all widgets to all users, even when restrictions were on.

1.6.5

  • Tested with version 4.7 of WordPress

1.6.4

  • Tested with version 4.6 of WordPress
  • Upgraded TGM Plugin Activation class file version to 2.6.1

1.6.3

  • Upgraded TGM Plugin Activation class file version to 2.6.0

1.6.2

  • Removed errnous test function

1.6.1

  • Added TGM Plugin Activation code to recommend FuzzGuards other useful plugins (v2.5.2)

1.6

  • Added in ability to select widget display via User Role.
  • Removed ‘Admin Users” option – Replaced by “Logged In”, “Administrators” checkbox
  • Selecting logged in users now allows you to choose the Users Role

1.5

  • Added uninstall file to remove all options from DB if plugin is removed.

1.4.1

  • Added Serbian Translation – Translated by: Ogi Djuraskovic (firstsiteguide.com)

1.4

  • Added “lang” folder for localization files
  • Added French, German, Spanish and Chinese translations
  • Added .pot file for localization by others. Located in “lang” folder
  • Added light top and bottom border around extra coding to emphasize restrictions area

1.3

  • Changed widget hook to utilize in_widget_form to load extra options. Advantage is increased stability of plugin.

1.2

  • Fixed bug where widgets were failing to display in admin panel.
  • Fixed for loop bug in saving privilege widget.

1.1

  • Uncommented WordPress admin class protection coding from testing
  • Changed “Display Mode” to “User Restriction”
  • Added in bottom border to “User Restriction” area in each widget to make the widget area easier to read

1.0

  • Gold release