Un utilisateur a demandé 👇

Salut, je travaille sur un widget pour Elementor dans wordpress et j’exécute une requête tout en essayant d’enregistrer mes scripts.


wp_register_script(
    'ssn-sub-module-reactive-script',
    plugins_url() . '/ssn-sub-module/ext-templates/elementor/scripts/ssn-sub-module-reactive-script.js',
    [ 'elementor-frontend' ],
    '1.0.90',
    true
);

J’utilise cet appel dans mon générateur de classe de widget et cela a parfaitement fonctionné jusqu’à présent. Cependant, j’ai mis à niveau vers une version plus récente après quelques corrections mineures, et maintenant ma page génère une erreur 404 lors de la tentative de chargement du script :

GET https://schoolofsocialnetworks.org/en/wp-content/plugins/ssn-sub-module/ext-templates/elementor/scripts/ssn-counters-interaction.js/?ver=1.0.1 glan ::ERR_ABORTED 404

Il arrive que l’erreur provienne de plugins_url() en ajoutant la balise lang ‘/in/’ au début de l’URL. Dans la classe principale (mon chargeur de widgets), j’ai enregistré des feuilles de style CSS et cela fonctionne parfaitement. Si je fais écho à l’url de l’un d’eux

echo plugins_url() . '/ssn-achievements/ext-templates/elementor/styles/ssn-unit.css';

J’obtiens l’adresse suivante :
https://schoolofsocialnetworks.org/wp-content/plugins/ssn-achievements/ext-templates/elementor/styles/ssn-unit-cards.css

La balise lang ‘/ dans /’ n’existe pas.

Mon arbre de projet à ce stade ressemble à ceci:


|_.../ext-templates/elementor
    |_SsnLoader.php
    |_widgets/
        |_MyWidget.php

L’appel plugins_url() fonctionne sur SsnLoader mais pas sur MyWidget. C’est une erreur ?

ÉDITER

Étant donné que le message est marqué pour mes 2 modifications et que je ne peux pas y répondre : j’ai trouvé que l’erreur était causée par une (grosse) faute de frappe dans l’URL. Est-ce parce qu’une mauvaise URL change le chemin par défaut en ‘/en/’ (ou n’importe quelle langue par défaut) alors qu’une URL correcte ne le fait pas ?

Ce sujet a été modifié il y a 4 mois et 2 semaines par. Ce sujet a été modifié il y a 4 mois et 2 semaines par. Ce sujet a été modifié il y a 4 mois et 2 semaines par.


(@otto42)

Administration WordPress.org

il y a 4 mois, 2 semaines

Je ne sais pas pour /ga, il y a probablement quelque chose d’autre ajouté à cela, mais effectuer des opérations de connexion sur les résultats de plugins_url() n’est pas la bonne façon de l’utiliser.

Ce serait plus précis :

echo plugins_url( '/ext-templates/elementor/styles/ssn-unit.css' , __FILE__ );

Il suppose que le fichier actuel se trouve dans le répertoire plugins/ssn-Achievements. De cette manière, il n’est pas nécessaire de spécifier le nom du répertoire du plugin de manière codée en dur.

Voir https://developer.wordpress.org/reference/functions/plugins_url/

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 *