J'essaie d'ajouter du code à la tête (à savoir un bloc de script de suivi) via un plugin que je crée.
Le plugin a une interface où l’utilisateur entre quelques détails qui sont ensuite ajoutés à la table d’options. Tout cela fonctionne parfaitement bien jusqu'à présent. Mais alors je veux écrire une déclaration conditionnelle s'il y a une ouverture puis ajouter à la tête. Fondamentalement, j'ai tout cela dans le fichier de plugin principal et cela ressemble à ceci;
if(get_option( 'MyOptionName' )){
function testingone(){ ?>
<script>var Script = GoesHere; </script>
<?php ;}
add_action('wp_head','testingone');
}
J'ai essayé de placer cela à l'intérieur du bloc qui extrait les données, puis ajoute des options, mais cela n'a pas fonctionné, puis j'ai décidé de le faire de cette façon, où il semble y avoir une option dans le tableau aussi n'injecte rien dans la tête. Certains endroits où j'ai vu des personnes placer add_action au-dessus de la fonction, mais dans le codex, il en présente un exemple ci-dessous. mais de toute façon j'ai essayé et échoué.
Quelqu'un peut-il voir où cela ne va pas?
À votre santé
Tirez la add_action()
à l'extérieur de la fonction et mettez la condition à l'intérieur du rappel. De même, si vous imprimez un script directement, utilisez wp_print_scripts
au lieu de wp_head
. Vous avez également une erreur de syntaxe.
function testingone(){
if( get_option( 'MyOptionName' ) ) {
?>
<script>var Script = GoesHere; </script>
<?php
}
}
add_action( 'wp_print_scripts','testingone' );
Essayez de transformer votre code:
function testingone() {
if( FALSE !== get_option( 'MyOptionName' ) ) {
echo( 'ok, this is in the head!' );
}
}
add_action( 'wp_head', 'testingone' );
De même, vérifiez dans les fichiers de votre thème (probablement header.php
) que la fonction wp_head()
est appelée et assurez-vous que l'option MyOptionName
est définie pour le site.
Édité pour ajouter - Vous devez également utiliser wp_enqueue_script()
pour ajouter du Javascript à votre site, plutôt que de simplement les transférer dans le <head>
.
voir ci-dessous l'instruction code.Add IF
à l'intérieur de la fonction.
function testingone(){
if(get_option( 'MyOptionName' )){
?>
<script>var Script = GoesHere; </script>
<?php }
}
add_action('wp_head','testingone');
function plugin_script() {
wp_enqueue_script( 'Jquery-min', WP_PLUGIN_URL. '/Test Plugin/jquery-min.js', false, '1.11.0' );<br/>
wp_enqueue_style('pluginstyle', WP_PLUGIN_URL. '/Test Plugin/pluginstyle.css',false,'1.0',"all");<br/>
}
add_action( 'wp_head', 'plugin_script' );
Le hook d'action "wp_head" est déclenché dans la section "head".
wp_enqueue_script () est utilisé pour exécuter des scripts et wp_enqueue_style est pour une feuille de style du plugin. "WP_PLUGIN_URL." obtiendra des données du dossier du plugin de thèmes. "Plugin de test" correspond au nom de votre plugin, feuille de style du plugin "pluginstyle.css". Script du plugin "jquery-min.js".