2013-10-06 2 views
2

OK, ça me rend dingue:Chargement personnalisée javascript dans un plugin Wordpress

Je suis en train de construire un plugin simple Wordpress, et je suis en train de nous assurer que les js est séparé du php. J'ai parcouru le codex, et divers tutoriels, mais soit ils font tous des suppositions, soit je suis juste un idiot parce que ça ne marche pas ... Fondamentalement, j'espère ultimement ajouter quelques lignes en utilisant ajax à un custom table quand j'ajouter un poste, mais avant tout ce que je viens d'obtenir ce travail Bonjour monde Ajouter la page post ...

Certes, il est mort facile:

Voici le javascript myplug/js /myplugin.js:

jQuery(document).ready(function(){ 
    alert("dothis"); 
}); 

est ici la version qui fonctionne dans le plugin (mais est mauvais):

function admin_load_js(){ 
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>'; 
} 
add_action('admin_head', 'admin_load_js'); 

C'est un peu mieux, mais ne fonctionne pas (jQuery non défini):

function admin_load_js(){ 
    echo '<script type="text/javascript" src="http://www.mysite.com/wp-content/plugins/myplugin/js/myplugin.js"></script>'; 
} 
add_action('admin_enqueue_scripts', 'admin_load_js'); 

Et ceci est la façon dont je pense que cela devrait être fait, mais ne fonctionne pas du tout simplement n » t faire n'importe quoi:

function admin_load_js(){ 
wp_register_script('custom_js', plugins_url('/js/myplugin.js', __FILE__)); 
} 
add_action('admin_enqueue_scripts', 'admin_load_js'); 

Quelqu'un peut-il me donner une idée ici ?? Même Google n'est pas mon ami pour le moment. Peut-être parce qu'il est tard, je ne sais pas ...

Répondre

8

Essayez ceci:

function admin_load_js(){ 
    wp_enqueue_script('custom_js', plugins_url('/js/myplugin.js', __FILE__), array('jquery')); 
} 
add_action('admin_enqueue_scripts', 'admin_load_js'); 

wp_register_script enregistre juste le script. Vous devez toujours charger le script manuellement. Ou vous pouvez utiliser wp_enqueue_script qui fait tout en même temps. Avec wp_enqueue_script, vous pouvez spécifier des dépendances (dans ce cas 'jquery') afin qu'elles soient chargées avant votre script.

Questions connexes