phpwordpresswpmlroots-sage

Roots/Sage and WPML : Cannot access to mu-plugins files through wp-admin


Using the Roots/Sage template, I cannot access to some menu entries of WPML through wp-admin, like "String Translation". Unlike the working entries, the redirect URL is different :

Working : https://myadress.test/wp/wp-admin/admin.php?page=tm/menu/translations-queue.php

Not working : https://myadress.test/wp/wp-admin/wpml-string-translation/menu/string-translation.php

It just return a 404 not found, while the file exists in the project (under web\app\mu-plugins\wpml-string-translation\menu\string-translation.php for example).

Why is the non-working URL structure differents from the working ones ?

How can I access to this files and get rid of the 404 response ?

I tried to access to my file with the relative path : https://myadress.test/app/mu-plugins/wpml-string-translation/menu/string-translation.php

And I get an HTTP error 500 :

PHP Fatal error:  Uncaught Error: Call to a member function get_strings_settings() on null in /var/www/html/web/app/mu-plugins/wpml-string-translation/menu/string-translation.php:8
Stack trace:
\#0 {main}
thrown in /var/www/html/web/app/mu-plugins/wpml-string-translation/menu/string-translation.php on line 8

Here is the first 8 lines of the string-translation.php file :

<?php

use WPML\ST\Gettext\AutoRegisterSettings;

/** @var WPML_String_Translation $WPML_String_Translation */
global $sitepress, $WPML_String_Translation, $wpdb, $wp_query;

$string_settings = $WPML_String_Translation->get_strings_settings();

My IDE automatically finds the WPML_String_Translation class under web\app\mu-plugins\wpml-string-translation\inc\wpml-string-translation.class.php while I still get the HTTP error 500 above.


Solution

  • It seems that moving the plugin from mu-plugins/ to plugins/ fixed this (weird) issue.