WP Plugin for truly banning users!
The BAN Users WordPress Plugin has been developed to enable administrators to quickly BAN (aka disable, suspend…) users from logging into their WordPress user account, as well as the option to change the status of all their posts. For instance setting them to draft to hide them from public viewing. A user can be BANed from the admin users table or via their profile. There are several configurable options that allow the administrator to control how the BAN will be implemented such as redirecting them to a custom holding page, or sending them a custom email notification. Once BANned they will be unable to login until an administrator reinstates their account.
- The best plugin I’ve ever used for banning accounts!
- At last I found plugin that truly bans…
- OUTSTANDING plugin / support / developer
Plugin Features & Options
- Quickly ban a user for a day, week, month or forever!
- Send WARNING emails to users, including custom messages.
- Scramble banned users’ password
- Change banned users’ role
- Set spammer status for banned users
- Disable password reset for banned users
- Automatically change user’s Posts status (i.e. to pending) when BANned.
- Table listing banned users, with search feature and quick links
- Enhanced security to restrict Ban User privilage access
- Flat icons as alternatives to text based links
- Modal popup for sending custom messages, with textarea instead of text field
- Supports Ultimate Member Plugin
- Force logout when user BANned.
- Set custom logout URL when BANned.
- Set message to display when a BANned user attempts to login.
- If already logged in, display message to user when BANned.
- Send custom email notification to user when banned/unbanned.
- Capture unique reason for banning each user.
- Set duration of BAN using date picker.
- BANned users highlighted in users table with icon/coloured background row.
- Users table shows reason user banned.
- Users table shows date user banned.
- Users table shows date user reinstated.
- Support for Accessibility / Screen Readers.
- Support for BuddyPress
- Support for CPT (Custom Post Types)
- Plugin Shortcodes
- Template values / custom default messages
Premium Plugin Features:
- Capture users’ IP/Geodata during login
- Display IP/Geodata in users table
- BAN users by date and TIME!
- Send notifications to specified email addresses when user publishes first post
- Prevent users with banned email address from registering
- Prevent users with banned email address from logging in
- Prevent users with banned ip address from registering
- Prevent users with banned ip address from logging in
- Easily manage add/remove/search banned email/ip addresses
- Include custom CSS/JS in header/footer
- SPAM prevention
- Account security — notification for logins when accessed from a new IP
How is it Useful?
There are multiple reasons why an administrator of a WordPress website may need to block users. One of the most popular reasons is the security of the site. Indeed, most blogs face security issues. Once your site is online and growing in popularity, it can become the target of individuals whose only goal is to destroy your work and to discredit your blog. The BAN Users Plugin enables administrators to deny access to unwanted individuals, and inform those users of the actions taken against them.
- You want to ban malicious users from logging in.
- You want to temporarily control access to admin.
- You want to restrict a registered user from making any changes during development.
- You have a client/user who has an unpaid invoice.
- Ideal solution for moderators who monitor wordpress forums/posts.
This section describes how to install the plugin and get it working.
- Upload the plugin files to the /wp-content/plugins directory, or install the plugin through the WordPress plugins screen directly.
- Activate the plugin through the ‘Plugins’ screen in WordPress
- Go to Users->All Users to view the list of users.
4a. Click on a username to access their profile page, or hover over the user and select ‘Edit’.
5a. Scroll down to the ‘Account Management’ Section of the profile page.
6a. Click on the checkbox which says ‘Ban this User’ beside it to either ban or unban the user.
7a. Scroll to the bottom of the page and select ‘Update User’ to confirm the changes made to the user.
4b. Hover over a user to display a list of possible modifications.
5b. Press the ‘Ban’ / ‘Unban’ button in order to change the users current state.
- Can all users be banned, regardless of role?
Yes, anyone can be banned by an administrator. Administrators are not able to ban themselves however.
- Who can ban / unban another user?
Only Administrators are allowed to ban / unban other users by default.
- How will I know if another user is banned?
In the user edit page, the user will be marked in a checkbox in the row called ‘Ban User’. If you also hover over the user on the ‘All Users’ page, the user will be the opposite of the stated ‘ban’ / ‘unban’ button.
- How can I get unbanned?
You will need to contact a website administrator and asked to be unbanned. Each website may have their own policy for banning / unbanning users. If all administrators are banned, remove the plugin manually. Make sure an administrator is logged in on the website. Reinstall the plugin but with ‘force_logout’ set to false (0) and ‘custom message’ also set to false (0) in the settings file. The administrator can then unban people as usual.
Contributors & Developers
“BAN Users” is open source software. The following people have contributed to this plugin.Contributors
- Thanks to @davsev for suggesting this feature
- [Added] Support for CPT (Custom Post Types) when changing posts status
- [Fixed] Minor PHP code refactoring
- Massive thanks to Richard Foley for his support in beta testing/feedback
- [Added] Option to hide banned users comments on frontend
- [Added] Change banned users’ role upon banning
- [Added] Change banned users’ role when unbanned
- [Added] Option to scramble banned users’ passwords
- [Added] Option to set spammer status for banned users
- [Added] Option to remove spammer status when unbanning users
- [Added] Option to disable password reset for banned users
- [Added] Quick links when clicked to scroll to section and reveal content
- [Added] Option to collapse all plugin setting sections by default
- [Fixed] Minor CSS amends
- [Added] Ability to define multiple moderator roles with ban privilage access
- [Added] Ability to define multiple roles that can be moderated (i.e. can be banned)
- [Fixed] Unexpected string appearing above user table
- [Fixed] Logic errors in security restriction settings
- [Added] Ability to override ban/unban access restrictions for super admins/admins
- [Added] Restrict ban user administrative access to users based on role hierarchy
- [Added] User insights column which displays banned history data
- [Updated] Plugin libs
- [Fixed] Removed unncessary lib files/folders to reduce plugin size
- [Added] Table listing banned users, with search feature & quick unban function
- [Added] Updated plugin dependencies
- [Added] Updated quick links on settings page (animation & labels)
- [Added] Save settings confirmation message
- [Updated] Minor UI changes to plugins settings page
- [Added] Email templates now support additional TAGS
- [Added] Updated depenancy libraries
- [Added] Plugin now supports localisation for translations
- [Fixed] Invalid markup causing php warning
- [Added] Updated plugin dependencies
- [Fixed] Fixed plugin settings collapse accordions
- [Fixed] Misc CSS
- [Added] Option to set a default ban reason that appears in custom email modal/popup
- [Added] Option to set a default warn reason that appears in custom email modal/popup
- [Added] Updated Plugin Shortcodes section to support additional arguments
- [Added] Support for BuddyPress
- [Added] New Plugin Shortcodes section
- [Fixed] Conflicting plugin css with Selectric
- [Added] %%reason%% tag now supported in default messages
- [Added] %%unban_date%% tag now supported in default messages
- [Fixed] Missing default values causing warning on Settings page.
- [Fixed] Problem with Warning email template values not saving.
- [Added] Enhanced security to restrict Ban User privilage access
- [Fixed] Optimised code; refactored & bug fixes.
- [Added] Overhauled settings page. Simplified & organised layout
- [Added] Option to enable/disable support for 3rd Party plugins
- [Added] Option to disable plugin’s enqueued files to allow them to be manually included
- [Fixed] Force Logout bug when on front end
- [Fixed] Logic mistakes on settings page
- [Fixed] Optimised code; refactored & bug fixes
- [Fixed] Optimised code; refactored & bug fixes
- [Fixed] Improved options page layout, including misc fixes
- [Added] Ban user by duration (1 day, 1 week etc) using new dropdown select
- [Added] Improvements to date picker; moved to new modal popup
- [Fixed] Issue where Unban Cron not executed correctly
- [Fixed] PHP Compatibility issue (Thank you alfredopacino)
- [Added] Added accessibility option to choose text links instead of icons
- [Fixed] Improved accessibility, misc amends
- [Fixed] Accessibility SR issue fixed affecting fontawesoome icons
- [Added] Send WARNING emails to users, including custom messages
- [Added] NEW! Introduced flat icons as alternatives to text based links
- [Added] Modal popup for sending custom messages, with textarea instead of text field
- [Fixed] Various minor amends/enhancements to methods
- [Added] Support for Ulimate Member Plugin
- [Added] Display banned message on front end of website in a diaglog box
- [Fixed] Removed http links from enqueue to support SSL
- [Added] Promoted the Ultimate BAN Users version of the plugin
- [Added] Option to capture reason for ban without needing to send email notification
- [Fixed] Default reason for BAN not working in all conditions
- [Added] Set preferred date format (i.e. dd-mm-yyyy)
- [Added] New email template tag for including ban lift date
- [Fixed] Minor amends
- [Fixed] Email charset switched to UTF8
- [Fixed] BAN reason function updated to support accented characters
- [Fixed] Updated options save function to support accented characters
- [Fixed] Turned display/log PHP error debug off
- [Fixed] Undefined index error accessing default login message
- [Fixed] Undefined index error accessing default reason message
- [Added] Set message to display when a BANned user attempts to login
- [Added] Users table includes tooltip to show reason user banned
- [Added] Users table includes tooltip to show date user banned
- [Added] Users table includes tooltip to show date user reinstated
- [Added] Toggle BANned column in users table on/off
- [Added] Toggle BANned highlighted red row in users table
- [Added] Minor security enhancements
- [Added] Set duration of BAN using date picker
- [Fixed] Move PHP functions into class structure
- [Added] Custom UnBAN email template for user notification
- [Fixed] Secured plugin files by preventing direct access
- [Fixed] Fatal error: Can’t use function return value in write context
- [Added] BAN user email notification
- [Added] Custom BAN email template for user notification
- [Fixed] Corrected force logout bug
- [Added] Ability to capture reason for BANning user
- [Added] WordPress Uninstall configuration
- Initial release.