How to give access to Smart Slider for Non-Admin users?
In this article
Give access on WordPress
To be able to allow your non-admin user groups to access Smart Slider you will need a plugin that is capable of handling the user capabilities, for example, the User Role Editor:
Go to it's settings (WordPress menu: Users → User Role Editor), then look for these capabilities:
- smartslider
- smartslider_config
- smartslider_delete
- smartslider_edit
- unfiltered_html
Select them and save the capabilities for the user group.
unfiltered_html
capability will have issues on multisites. Read more about this in
here.
unfiltered_html capability
In WordPress unfiltered_html means, that a user should be able to edit HTML, JavaScript and CSS codes of your website. As Smart Slider allows you in a ton of places to edit HTML, JavaScript and CSS codes, that is why unfiltered_html
capability is a requirement.
So if you don't want to give unfiltered_html
capability to your users for some reason, then you actually don't want to give them access to Smart Slider either, as both of them mean the same coding access.
If you think you should have access to unfiltered_html
, but you don't, check your users capabilities. Also, make sure you don't have the following code in your wp-config.php file or anywhere else in your site:
define('DISALLOW_UNFILTERED_HTML', true);
This code disables the unfiltered_html
capability for all users.
WordPress multisites
On WordPress multisites only Super admin users can have unfiltered_html capability, but just "administrators" cannot! WordPress developers made this choice, because they didn't trusted administrator users with HTML, JavaScript and CSS codes for security reasons. Within Smart Slider you are able to edit HTML, JavaScript and CSS codes, so without unfiltered_html capability a user cannot have access to Smart Slider either.
What you have to consider is, that how much do you trust your other user roles, because you have a choice to overwrite this limitation of WordPress. If you trust them, you can add unfiltered_html capability to your user roles this way:
Create a must-use plugin
⚠️ This article was created for developers!
To be able to follow the steps, you're required to have coding knowledge. If you're not a developer and can't achieve what you're looking for, consider hiring a developer.
Make sure to carefully follow the tutorial and write correct code. We're unable to provide help with custom coding, or the possible issues that are happening because of them.
Step 1
Inside your wp-content folder create a mu-plugins folder, if you don't have one there yet:
wp-content\ mu-plugins
Step 2
Create a PHP file inside it. I will call it unfiltered.php:
wp-content\mu-plugins\ unfiltered.php
Step 3
In this code:
<?php /** * Plugin Name: Unfiltered HTML access modification **/ function allow_unfiltered_html_multisite( $caps, $cap, $user_id ) { if ( 'unfiltered_html' === $cap && user_can( $user_id, 'editor' ) ) { $caps = array( 'unfiltered_html' ); } return $caps; } add_filter( 'map_meta_cap', 'allow_unfiltered_html_multisite', 10, 3 );
Modify 'editor' to the user role, where you actually want to give this access:
user_can( $user_id, 'editor' )
You can find the real user role name for example in User Role Editor.
Step 4
Insert the PHP code into your PHP file. And you are done. This code runs on your website and the given user role will have unfiltered_html
capability.
Give access on Joomla
Go to System → Global Configuration → Smart Slider 3 and assign the capabilities to the user groups who you want to give access to. You can do that by changing the Select new setting dropdown to Allowed at each capability you want the user group to access to.
What does each permission give access to?
The permissions which grant access to sliders will allow the user group to manage every slider in your site.
- Smart Slider: Allows accessing Smart Slider's interface.
- Config: Allows accessing the Global Settings.
- Edit: Gives access to the Slider Settings and Slide Editor where any action can be done, except deleting a slide or slider. (Layers can still be deleted.)
- Delete: Allows deleting any slide or slider.