tente de mettre en file d'attente un script dans wordpress

4

J'ai lu la section du codex sur wp-enqeue, mais je me bats toujours.

En gros, j'aimerais que les éléments suivants s'affichent correctement dans la zone des widgets de mon thème (sur chaque page):

<link rel="stylesheet" type="text/css" href="/wp-content/uploads/social_counter/css/styles.css" />
<link rel="stylesheet" type="text/css" href="/wp-content/uploads/social_counter/css/tipTip.css" />

<div id="social_counter">
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script><scripttype="text/javascript" src="/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js"></script>
<script type="text/javascript" src="/wp-content/uploads/social_counter/js/social_counter.js"></script>
</div>

J'ai créé un widget de texte dans lequel j'ai collé le code, mais certains éléments du modèle sont brisés, car il existe probablement un conflit, jquery étant déjà chargé par le thème et / ou d'autres plugins.

Quelqu'un pourrait-il me montrer comment utiliser au mieux wp_enqueue et comment coller le code suivant (functions.php du thème?)?

Merci.

J'ai essayé les solutions suivantes:

if(!is_admin()){
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);
}

Il semble que deux des scripts soient chargés lorsque je visualise le code source de la page, mais pas le google jquery, et que le contenu ne s'affiche pas ...

maintenant, j’ai le texte suivant, toujours rien (deux scripts apparaissent, mais pas le google jquery):

wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
wp_enqueue_script( 'jquery' );
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);

Dernière édition .. (je souhaite vraiment que le débordement de pile adopte un système de thread plus convivial: /)

function add_scripts(){
// Load jQuery
if ( !is_admin() ) {
   wp_deregister_script('jquery');
   wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"), false);
   wp_enqueue_script('jquery');
}
// Your Scripts
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);
}
add_action('init','add_scripts');
    
posée vulgarbulgar 22.03.2011 - 00:55

3 réponses

1

En réalité, vous n'avez plus à vous soucier des conflits avec les pages d'administration. Il existe un crochet "wp_enqueue_scripts" qui garantit que les scripts ne sont pas appelés sur les pages d'administration.

De WP Codex:

<?php
function my_scripts_method() {
  wp_deregister_script( 'jquery' );
  wp_register_script( 'jquery',    'http://ajax.googleapis.com/ajax/libs/jquery/1.6/jquery.min.js');
  wp_enqueue_script( 'jquery' );
}    

add_action('wp_enqueue_scripts', 'my_scripts_method');
?>

Mais si vous avez besoin d'un noyau jQuery personnalisé (ou d'un add-on) pour les pages d'administration, vous devez utiliser le hook "init" avec le conditionnel! admin.

    
réponse donnée Anthony 27.09.2011 - 17:57
3

Regardez ce lien:

5 conseils pour utiliser jquery-with-wordpress

Vous pouvez ajouter les scripts en appelant une fonction dans functions.php .

Voici un exemple comment procéder:

function add_scripts(){
        wp_register_script('scriptName', 'Path to the script'); //Register script
        wp_enqueue_script('jquery'); 
        wp_enqueue_script('scriptName'); //adding script

    }
    add_action('init','add_scripts'); //calling function in init

Également ce lien être utile.

EDIT:

Essayez celui-ci

function add_scripts(){
// Load jQuery
if ( !is_admin() ) {
   wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"), false);
   wp_enqueue_script('jquery');
}
// Your Scripts
wp_register_script('script1', get_bloginfo('url').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js');
wp_register_script('script2',get_bloginfo('url').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);
wp_enqueue_script('script1');
wp_enqueue_script('script2');
}
add_action('init','add_scripts');
    
réponse donnée Dijo David 22.03.2011 - 05:45
1

La meilleure place est dans votre functions.php .

Exemple:

wp_enqueue_script("name", ("path/to/file"), false);

Le tableau false met le script en file d'attente dans l'en-tête, où vous définissez wp_header(); . Si vous le définissez sur true, il met le script en file d'attente dans le pied de page où vous définissez wp_footer();

.

Modifier :

wp_enqueue_script('yourscriptname', get_bloginfo('stylesheet_directory') . '/js/jsyourscript.js');

Vous avez ce code dans votre message révisé

if(!is_admin()){
wp_deregister_script( 'jquery' );
wp_register_script( 'jquery', 'http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js');
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);
}

Notez que vous avez placé les 2 scripts que vous souhaitez mettre en file d'attente dans dans l'instruction conditionnelle si pas admin - faites cela -

Cela peut être la raison pour laquelle il ne semble pas fonctionner pour vous.

Modifier 2

// Load jQuery
if ( !is_admin() ) {
   wp_deregister_script('jquery');
   wp_register_script('jquery', ("http://ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"), false);
   wp_enqueue_script('jquery');
}
// Your Scripts
wp_enqueue_script('custom_script',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/jquery.tipTip.minified.js',false);
wp_enqueue_script('custom_script2',get_bloginfo('wpurl').'/wp-content/uploads/social_counter/js/social_counter.js',array('jquery'),'1.4.2',false);

Nettoyez-le un peu, replacez la requête dans l'instruction conditionnelle et mettez également false.

Chaque nouveau script que vous mettez en file d'attente doit également porter un nom unique . Tous les deux s'appellent custom_script

.     
réponse donnée Daryl 22.03.2011 - 01:53

Lire d'autres questions sur les étiquettes