web-dev-qa-db-fra.com

Les numéros de version des fichiers de script WordPress changent dans l'environnement en direct

J'enregistre mes fichiers javascript pour Wordpress dans mon fichier de fonctions de la manière suivante:

if( !function_exists( "theme_js" ) ) {  
  function theme_js(){    

wp_register_script('wpbs-scripts', 
          get_template_directory_uri() . '/library/js/min/scripts.min.js', 
          array('jquery'), 
          '1.43',
          'true' );

wp_enqueue_script('wpbs-scripts');
  }
}
add_action( 'wp_enqueue_scripts', 'theme_js' );

Dans mon environnement de production, ils s’exécutent correctement avec le numéro de version, comme on peut s’y attendre "scripts.min.js /? Ver = 1.43. Mais sur le serveur actif, les numéros de version sont constitués d’une chaîne de 32 chiffres de chiffres aléatoires et de minuscules, comme ceci" scripts.min.js /? ver = 65cat8def2cbb5f145751979a4b2b7cf ".

Je n'ai aucune idée de ce qui le cause et cela semble ne s'être produit que récemment. J'ai commencé à remarquer que les gens devaient rafraîchir le site pour voir les changements.

1
brandozz

Le plugin WordPress Wordfence (version 6.0.22) était à l'origine de ce problème. Pour résoudre ce problème, allez dans "Options" et décochez "Masquer la version de WordPress".

0
brandozz

Ne devez-vous pas utiliser wp_enqueue_script au lieu de wp_register_script? Ce que je tire de la page de codex wp_enqueue_script , la manière correcte d’ajouter des scripts dépendants de jQuery est:

<?php

  function my_scripts_method() {
    wp_enqueue_script(
      'custom-script',
      get_stylesheet_directory_uri() . '/js/custom_script.js',
      array( 'jquery' )
  );
}

add_action( 'wp_enqueue_scripts', 'my_scripts_method' );

?>

C'est peut-être ce qui vous cause des problèmes.

0
mrmadhat