Passer la navigation

[Remonté au deuxième échelon] Toolset Access 2.9.6 – “WPML Groups » tab missing with WPML 5.1.0

This support ticket is created Il y a 2 weeks, 4 days. There's a good chance that you are reading advice that it now obsolete.

This is the technical support forum for Toolset - a suite of plugins for developing WordPress sites without writing PHP.

Everyone can read this forum, but only Toolset clients can post in it. Toolset support works 6 days per week, 19 hours per day.

Sun Mon Tue Wed Thu Fri Sat
- 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 10:00 – 13:00 -
- 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 14:00 – 18:00 -

Fuseau horaire du supporter : Asia/Kolkata (GMT+05:30)

Ce sujet contient 1 reply, a 1 voix.

Dernière mise à jour par - Il y a 2 weeks, 4 days.

Assisté par: Minesh.

Author
Publications
#2886157
Screenshot 2026-10-07 110030.png

Environment

WordPress 7.1, PHP [version], local development site
Toolset Access 2.9.6 (the only Toolset plugin installed)
WPML Multilingual CMS 5.1.0 + WPML String Translation 5.1.0, setup completed, 14 active languages
Other active plugins: Elementor 4.3.4 + Pro 4.3.1, ACF 6.8.10 + ACFML 5.1.0, W3 Total Cache, PublishPress Capabilities, BackWPup
Toolset > Settings > WPML integration: all options active
Problem
In Toolset > Access Control the tabs are only "Post Types", "Taxonomies", "Posts Groups" and "Custom Roles". The "WPML Groups" tab is missing, so permissions per language cannot be configured. [Screenshot attached]

Expected result
The "WPML Groups" tab is shown, as WPML is active and configured.

What I found (without modifying any plugin file)

Permissions_GUI::get_access_tabs() shows the wpml-group tab only if apply_filters( 'toolset_access_filter_is_wpml_installed', false ) returns true.
That filter returns $wpcf_access->wpml_installed_groups. The flag is set to true only in WPMLSettings::toolset_access_wpml_loaded().
toolset_access_wpml_loaded() is hooked to wpml_loaded inside Settings::load_settings(), together with toolset_load_wpml_groups_caps on plugins_loaded 999.
On this site WPML 5.1.0 fires wpml_loaded during plugins_loaded at priority 0. At that point the global $wpcf_access does not exist yet, so Access has not registered its callbacks. The action never fires again.
I logged the flag on the real admin request for page=types_access:
at wpml_loaded: $wpcf_access not set;
from init@0 onwards: $wpcf_access exists with wpml_installed_groups = false;
the toolset_access_filter_is_wpml_installed filter returns false.
load_settings( true ) also resets wpml_installed_groups to false each time it recreates $wpcf_access.
If I call WPMLSettings::get_instance()->toolset_access_wpml_loaded() manually on init, the flag becomes true and the "WPML Groups" tab appears.
Temporary workaround (DEV only, mu-plugin)

add_action( 'init', function () {
global $wpcf_access;
if ( empty( $wpcf_access ) || ! class_exists( '\OTGS\Toolset\Access\Models\WPMLSettings' ) ) {
return;
}
$wpml = \OTGS\Toolset\Access\Models\WPMLSettings::get_instance();
$wpml->toolset_access_wpml_loaded();
$wpml->toolset_load_wpml_groups_caps();
}, 1 );
With this the tab appears. I have not yet verified that the permissions are actually enforced.

Questions

Is this a known incompatibility between Access 2.9.6 and WPML 5.1.0? Is there a fixed version?
Is the workaround safe to use on a production site, or is there an officially supported fix?
Is WPML 5.1.0 officially supported by Access 2.9.6?
Goal
Editors are assigned a set of WPML languages (for example user A: en-us only; user B: en-us and it). They can edit content only in their languages, and in the other languages they can at most view it. I need to confirm that "WPML Groups" is the supported way to do this, including for Elementor-built pages and media.

[Attach: screenshot of the Access tabs, Toolset > Settings > WPML integration]

#2886201

Minesh
Supporter

Les langues: Anglais (English )

Fuseau horaire: Asia/Kolkata (GMT+05:30)

Hello. Thank you for contacting the Toolset support.

This is a known issue and we already fix it and the fix is suppose to release with the next official Toolset release that is possibally scheduled by end of this month.

I'll update you here when we release hotfix verion.