web-dev-qa-db-fra.com

Données dynamiques dans `wp_register_script` nécessaires

J'utilise wp_register_script et wp_enqueue_script dans functions.php est comme ceci:

function add_wp_scripts() {

    wp_register_script(
        'myscript',
        get_template_directory_uri() . '/jsfile.js',
        array(),
        null,
        true
    );

    wp_enqueue_script('myscript');    

}
add_action( 'wp_enqueue_scripts', 'add_wp_scripts' );

Cela fonctionne bien. Le jsfile.js contient seulement deux données statiques codées en dur qui ne changent pas souvent.

Maintenant, je dois évaluer s’il est possible d’obtenir des données dynamiques de la base de données et de les mettre dans jsfile.js? - Depuis, je n'ai aucune expérience de JavaScript et j'aimerais savoir s'il est possible d'obtenir des données dynamiques dans jsfile.js? Si oui, comment pourrais-je m'en rendre compte et existe-t-il des restrictions de WordPress lui-même?

1
Peter

Vous recherchez la fonction wp_localize_script() . Cette fonction vous permet d’ajouter des données du serveur à votre javascript.

Cependant, cela ne changera pas le contenu de jsfile.js. Au lieu de cela, il ajoutera une variable globale dans le pied de page de votre thème. La modification du contenu d'un fichier JS avant de le transmettre au navigateur est une technique avancée qui nécessite la compilation/mise en mémoire tampon. La fonction ci-dessus devrait suffire à la plupart des utilisateurs.

Tout ce dont vous avez besoin pour utiliser cette fonction est inclus dans le lien fourni.

1
Jack Johansson