web-dev-qa-db-fra.com

"Impossible de lire la propriété 'remplace' d'un indéfini" Erreur Javascript lors de l'ajout de termes d'attribut à partir de la page d'ajout de produit

J'utilise le Variation Swatches for WooCommerce plugin pour afficher des nuances d'attributs de produit, mais chaque fois que j'essaie d'ajouter des termes à un attribut de produit dans la page d'ajout de produit, l'erreur javascript suivante est générée:

load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,underscore,backbone,wp-util,&load[]=wp-backbone,media-models,plupload&ver=4.8.1:59 Uncaught TypeError: Cannot read property 'replace' of undefined
at Function.m.template (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,underscore,backbone,wp-util,&load[]=wp-backbone,media-models,plupload&ver=4.8.1:59)
at load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,underscore,backbone,wp-util,&load[]=wp-backbone,media-models,plupload&ver=4.8.1:63
at HTMLButtonElement.<anonymous> (admin.js?ver=20170113:71)
at HTMLBodyElement.dispatch (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,underscore,backbone,wp-util,&load[]=wp-backbone,media-models,plupload&ver=4.8.1:3)
at HTMLBodyElement.r.handle (load-scripts.php?c=0&load[]=jquery-core,jquery-migrate,utils,jquery-ui-core,jquery-ui-widget,jquery-ui-mouse,jquery-ui-sortable,underscore,backbone,wp-util,&load[]=wp-backbone,media-models,plupload&ver=4.8.1:3)

Et la boîte de dialogue d'ajout de terme ne s'affiche pas, mais la même fonctionnalité fonctionne dans la page d'édition du produit.

quel peut être le problème et comment le résoudre?

1
Muhamad Bhaa Asfour

Le problème était un bogue mineur dans Variation Swatches for WooCommerce plugin, le terme d’ajout modal html n’était pas inclus dans la page d’ajout de produit à la suite d’une instruction conditionnelle erronée dans le fichier class-admin.php à la ligne 266:

if ( $pagenow != 'post.php' || ( isset( $post ) && get_post_type( $post->ID ) != 'product' ) )

Cette condition ne vérifie pas la page d'ajout de produit. Pour y remédier, nous devons ajouter la page post-new.php en tant que page acceptée à l'aide de cette déclaration:

if ( ($pagenow != 'post.php' && $pagenow != 'post-new.php') || ( isset( $post ) && get_post_type( $post->ID ) != 'product' ) )
1
Muhamad Bhaa Asfour