Enhanced Body Class
WordPress plugin to add user-related classes to body tag, allowing you to easily customize styling by role or specific user.
Plugin info
Maintenance & Compatibility
Maintenance score
Stale • Last updated 255 days ago
Is Enhanced Body Class abandoned?
Likely maintained (last update 255 days ago).
Compatibility
Similar & Alternatives
Explore plugins with similar tags, and compare key metrics like downloads, ratings, updates, support, and WP/PHP compatibility.
Description
WordPress plugin to add user-related classes to the body tag. This can be enabled on the frontend and backend of the site.
The css classes allow you to easily customize styling by role or a specific user.
Features
- Toggle display on frontend and admin pages
- Toggle classes for role, user name and user id
- Template hinting to load custom theme css files for frontend and admin
Stylesheets
- Add to theme folder (optional): enhanced-body-class-frontend.css
- Add to theme folder (optional): enhanced-body-class-admin.css
Scripts
- Add to theme folder (optional): enhanced-body-class-frontend.js
- Add to theme folder (optional): enhanced-body-class-admin.js
Styles
- .user-role-{rolename} ex: .user-role-author
- .user-name-{username} ex: .user-name-bobdobbs
- .user-id-{ID} ex: .user-id-1
Usage
After activating the class on the body tag, it will be up to you to use css or javascript to customize the display.
- Activate ‘User Role’ on ‘Admin Pages’ in plugin settings
- Observe classes on BODY tag by viewing the webpage source. You may need to refresh the page to see the updated class.
- Navigate to current theme and create file
enhanced-body-class-admin.css -
Edit
enhanced-body-class-admin.cssand add the following:body.user-role-administrator { background-color: cyan; }
Refresh the page. You should now see a cyan background. You can now update the css to change the display of specific
page elements.
Real Usage
This plugin was developed to hide certain elements in a popular photo gallery from users with a specific role.
Create the theme file enhanced-body-class-admin.css
`
body.user-role-contributor #updategallery #gallerydiv { display: none; }
`
Create the theme file enhanced-body-class-admin.js
`
jQuery(document).ready(function($) {
$(‘body.user-role-contributor select#bulkaction option[value=”copy_to”]’).attr(‘disabled’, ‘disabled’);
});
`
About This Plugin
This plugin was created by Noah J. Stewart in response to a specific problem. In January 2019,
Noah Stewart was contacted by his father Jim Stewart regarding a WordPress photo gallery plugin
that his astronomy club was using. They were having trouble customizing a few of the role-based
options in a popular gallery plugin. Like any good graphic artist, Jim was trying to improve
the interface for the site users. The simplest approach to the problem was to use css to
selectively hide certain elements, ie. invisible content users with the author role that
should be visible to users with the administrator role.
Installation
- Upload the plugin files to the
/wp-content/plugins/enhanced-body-classdirectory, or install the plugin through
the WordPress plugins screen directly. - Activate the plugin through the ‘Plugins’ screen in WordPress
- Use the Settings->Enhanced Body Class screen to configure the plugin. You must choose either frontend or admin to see changes.
- Customize output by adding any of the files below based on the front or admin settings you selected.
Frequently Asked Questions
Only enable the options you need to use.
No, the stylesheets are available for your convenience. If you prefer to use other stylesheets, go ahead.
Probably, but it may not function as expected.
Review feed
Changelog
1.0.8
- bug fix on submenu
1.0.7
- removed underscore prefix from private function names
- removed redundant code for registering settings
1.0.6
- added support for javascript files
- updated readme
1.0.5
- added icon and banner assets
- added copy of license
1.0.4
- added readme.txt to plugin archive
- updates and cleanup
1.0.3
- added template hinting for frontend and backend stylesheets
- refactored code slightly to address code smell
1.0.2
- added action to add classes to frontend body class
- added settings for displaying on the frontend and backend
- updated phpcs profile
- updated helper function to return array
- fixed nested files in includes folder
- minor updates to readme
1.0.1
- updated structure
- added gulp and npm workflow
- added markdown files to help with collaboration
- scaffolded out phpunit.xml, tests and bootstrap.php files but tests incomplete
- added phpcs.xml file and customized style rules
- modified code to adhere to phpcs rules, eliminating errors and warnings
- removed general text field from settings
1.0.0
- Initial commit
