Un utilisateur a demandé 👇

Salut,

après avoir défini WP Debug sur True Alerts et activé PHP, le plugin génère des alertes avec succès. J’espère qu’il y en a un avec une solution facile.

La source du problème est la ligne 124 du fichier /includes/class-shortcode-in-menus.php. Il semble que cette ligne teste une propriété de l’objet $item qui n’est pas présente.


(@gagan0123)

il y a 2 ans, 6 mois

@dhunink

Merci d’avoir signalé le problème.

Pouvez-vous fournir plus de détails sur le thème utilisé et sur la version de WordPress que vous utilisez ?

En outre, pourriez-vous énumérer d’autres plugins qui sont utilisés sur les sites de menu ?

À la ligne 124, violant le comportement par défaut des menus à travers le filtre et selon le document, le filtre est appliqué walker_nav_menu_start_el Il devrait fournir un objet $item. https://developer.wordpress.org/reference/hooks/walker_nav_menu_start_el/

Si un autre plugin génère des menus, n’est pas conforme à la norme WordPress et ne fournit pas cet objet, il tiendra compte de l’avertissement.

En attendant, je vais ajouter une vérification supplémentaire au plugin pour voir si l’objet $item a certaines propriétés ou non, pour résoudre ce problème.


(@dhunink)

il y a 2 ans, 6 mois

Salut! J’ai fait plus de débogage et je l’ai décrit dans un cas spécifique où aucun menu n’est défini pour la configuration du menu. Cela arrive souvent lorsque le plug-in est installé sur une nouvelle installation lorsque l’utilisateur n’a pas créé de menus et/ou affecté ces menus à une configuration de menu. Dans ce cas, l’objet $item est vide, ce qui est un comportement normal. Mais le code suppose toujours que l’objet $item contient quelque chose. Ma recommandation : mettez une simple vérification dans la fonction qui vérifie si l’objet $item contient le contenu souhaité. Sinon, il n’est pas nécessaire de continuer avec la fonction.


(@hbwarper)

Il ya 2 ans

Remplacement:
if ( 'gs_sim' !== $item->object ) {
et:
if (!isset($item->object) || $item->object !== 'gs_sim'){

et remplacement
if ('FULL HTML OUTPUT' === $item->post_title ) {
toi
if (isset($item->post_title) && 'FULL HTML OUTPUT' === $item->post_title ) {

Dans le fichier : wp-content/plugins/shortcode-in-menus/include/class-shortcode-in-menus.php Ce plugin évite que le journal ne se remplisse de milliers de lignes d’erreur par jour.


(@dhunink)

Il ya 2 ans

@gagan0123 Voulez-vous résoudre ce problème, en suivant la suggestion de @hbwarper ?


(@gagan0123)

Il ya 2 ans

@dhunink

Oui, je vais ajouter ce patch et le mettre à jour demain.

@hbwarper

Merci pour le patch 🙂, est-ce que ça va si j’utilise votre nom dans la liste des participants pour le plugin ?

Cela a-t-il résolu votre problème ?

Was this helpful?

0 / 0

Leave a Reply 0

Your email address will not be published. Required fields are marked *