How to Manage Permissions in the WPML Plugin
WPML is the acronym for “WordPress Multilingual Plugin”.
WPML is a WordPress plugin that enables you to turn any WordPress website into a multilingual website.
The PublishPress Capabilities plugin has support for WPML. This means that you can create user roles that are allowed to access specific areas of the WPML plugin.
If you install PublishPress Capabilities, click “Capabilities” in the admin menu. Click “WPML” in the sidebar and you will now be able to see all the permissions available for WPML.
What do all these options mean? The best way to understand these options is by looking at the WPML admin menu. The image below shows the main WPML menu in the WordPress admin area with several key features enabled.
Now take a look at this table below, which is taken from the WPML website. The capability names are in the left column, and the names of related screens are on the right column.
|Capability name||What the capability controls|
|wpml_manage_translation_management||This gives full access to the Translation Dashboard, Manager, Jobs, and more.|
|wpml_manage_languages||Gives access to the “Languages” settings.|
|wpml_manage_translation_options||When the “Translation Management” feature is not active, gives gives access to the translation options.|
|wpml_manage_troubleshooting||Gives access to the “Troubleshooting” screens.|
|wpml_manage_taxonomy_translation||Gives access to the “Taxonomy translation” page.|
|wpml_manage_wp_menus_sync||Gives access to the “WP Menus Sync” page.|
|wpml_manage_translation_analytics||Gives access to the “Translation Analytics” page.|
|wpml_manage_string_translation||Gives access to the “String Translation” page.|
|wpml_manage_sticky_links||Gives access to the “Sticky Links” page.|
|wpml_manage_navigation||Gives access to the “Navigation” page.|
|wpml_manage_theme_and_plugin_localization||Gives access to the “Theme and plugins localization” page.|
|wpml_manage_media_translation||Gives access to the “Media Translation” page.|
|wpml_manage_support||Gives access to the “Support” screen.|
|wpml_manage_woocommerce_multilingual||Gives access to the all the WooCommerce Multilingual features.|
|wpml_operate_woocommerce_multilingual||Gives access to the all the WooCommerce Multilingual features, except for the settings.|
An example of how to give WPML capabilities
In this part of the guide, I'll give you an example of how to extend a user role and give access to extra areas of WPML.
This screenshot below shows what a user in the “Authors” role can see when they login to a WordPress site. There is no access to WPML.
- Click “Capabilities” in the WordPress admin menu.
- Choose “Author” in the dropdown menu.
- Click “WPML” in the sidebar.
- Check the boxes for “wpml_manage_translation_management” and also “wpml manage languages”.
- Click “Save Changes”.
Now when a user in Author role logs in to the site, they will now have access to some key WPML screens.
It's worth noting that this approach mainly controls access to screens inside WPML. If you want to assign users to translate specific content or languages, that should be done inside WPML. For example, to allow a user to translate content in language, you should use the “Translators” tab to grant access.