Comment le chemin du répertoire du plugin peut-il être retourné dans <script> </script>
au lieu de coder en dur le chemin?
Voici le custom-page.php:
<?php get_header(); ?>
<script type="text/javascript" src="http://local.wordpress.test/wp-content/plugins/path-to-file/script.js"></script>
<?php get_footer(); ?>
Jetez un oeil à ceci: https://wordpress.stackexchange.com/a/119084/121955
plugins_url( "path/to/file", __FILE__ );
ÉDITÉ:
<script src="<?php echo plugins_url( "path/to/file", __FILE__ ); ?>"></script>
Pour rendre le plugin url disponible en javascript:
/**
*register the javascript
*/
wp_register_script( 'some_handle', plugins_url( "plugin-name/path-to-file/script.js") );
/**
*localize the plugin url.
*someObjectName.pluginsUrl then can be used to return
*the plugin url to the javascript
*/
wp_localize_script('some_handle', 'someObjectName', array(
'pluginsUrl' => plugins_url( "plugin-name/path-to-file/script.js"),
));
Depuis Javascript, l’URL du plugin peut être renvoyé de la manière suivante:
<script type="text/javascript">
var url = someObjectName.pluginsUrl;
alert( url );
</script>
Voici un exemple de l'un de mes plugins que j'ai développé.
function insert_scripts()
{
wp_enqueue_script('jquery', '<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>', '1.0.0', true);
wp_enqueue_script( 'test1', plugin_dir_url( __FILE__ ) . 'js/test1.js', array('jquery'), '1.0.0', true );
wp_enqueue_script( 'test2', plugin_dir_url( __FILE__ ) . 'js/test2.js', array('jquery'), '1.0.0', true );
}
add_action( 'wp_enqueue_scripts', 'xwp_insert_scripts' );
Conformément au code ci-dessus, les scripts doivent être chargés dans la tête. Cependant, si des modifications ont été apportées, ils pourraient être chargés ailleurs. Cette fonction devra être ajoutée à un fichier functions.php. REMARQUE: si vous ajoutez ceci au fichier functions.php du thème principal, il sera modifié lors de la mise à jour. La meilleure solution consiste à créer un thème enfant et à utiliser un fichier functions.php personnalisé.
<script type="text/javascript" src="<?php echo plugins_url( "plugin-name/path-to-file/script.js"); ?>"></script>