web-dev-qa-db-fra.com

Comment puis-je changer mon javascript après sa mise en file d'attente?

Écrire mon premier plugin en essayant de le rendre aussi simple que possible. Je mets des fonctions simplistes dans le javascript juste pour me laisser savoir qu'il était là. Après j'ai changé les méthodes dans le javascript. WP ne reconnaît pas que le javascript a été modifié. Cela ressemble à ceci:

function registerjs()
{
    wp_register_script('pcjavascript', plugins_url('PerformantCalendar.js', __FILE__));
    //wp_dequeue_script('pcjavascript');
    //echo "ichi";
    wp_enqueue_script('pcjavascript');
    echo "ni";
}

add_action('wp_enqueue_scripts', 'registerjs');

Le fichier javascript ressemble à ceci:

function monthNext()
{
    alert("In the haunted javascript file");
}

function monthPrev()
{
    alert("This also works");
}

Maintenant, si je modifie le message dans la boîte d’alerte, le premier message l’alerte quand même. J'ai essayé de retirer du script le script, de l'inactiver et de le réactiver. Il me manque quelque chose. Quelqu'un peut aider?

3
mobilemed

Votre JS est mis en cache. En développement, videz simplement votre cache. Mais pour le code de production, il est utile de noter que wp_enqueue_scripts () prend un argument de version qui vous permet de définir un numéro de version de script qui est ensuite ajouté à l’URL en tant que chaîne de requête à des fins de contournement du cache. (Remarque: la fonction wp_register_script est en fait intégrée à la fonction wp_enqueue_script, vous n’avez donc besoin que de celle-ci.)

function registerjs()
{
    wp_enqueue_script('pcjavascript', plugin_dir_url(__FILE__) . 'PerformantCalendar.js', array(), '1.0', false);
}

add_action('wp_enqueue_scripts', 'registerjs');

Cela ajoutera "? Ver = 1.0" à la fin de l'URL dans le source de votre page. Ensuite, après la mise à jour du fichier .js, modifiez le numéro de version:

function registerjs()
{
    wp_enqueue_script('pcjavascript', plugin_dir_url(__FILE__) . 'PerformantCalendar.js', array(), '1.1', false);
}

add_action('wp_enqueue_scripts', 'registerjs');

Cela ajoutera "? Ver = 1.1" à la place, ce qui fera que le navigateur le verra comme un fichier différent et le demandera au serveur au lieu d'utiliser une copie en cache. Plus d'informations sur wp_enqueue_scripts () peuvent être trouvées ici.

5
Myles