- Statut
- Résolu
- Signalé pour
- WPML Multilingual CMS 3.6.0
- Résolu dans
- 3.6.1
Aperçu de l’anomalie
Lorsque vous utilisez certains thèmes, vous pouvez rencontrer l’erreur fatale suivante qui casse l’affichage de la page :
Fatal error: Uncaught exception ‘InvalidArgumentException’ with message ‘Argument ID must be numeric and greater than 0’
Solution de contournement
Le problème est causé par les thèmes en question, car ils transmettent des arguments avec un type incorrect (des tableaux au lieu d’objets) aux filtres WordPress.
Ce problème sera résolu dans la prochaine version publiée en forçant l’utilisation du type correct par les variables.
En attendant, vous pouvez corriger le code en ajoutant manuellement la ligne suivante au fichier sitepress-multilingual-cms/classes/language-switcher/class-wpml-ls-render.php, à la ligne 127 (au début de la fonction) :
$args = (object) $args;
Une fois le correctif appliqué, le code devrait ressembler à ceci :
//...
public function wp_nav_menu_objects_filter( $items, $args ) {
$args = (object) $args;
$menu_id = isset( $args->menu->term_id ) ? $args->menu->term_id : null;
//...