J'utilise un plugin appelé "syntaxhighlighter".
Je sais pas poser des questions spécifiques au plugin mais plutôt comment filtrer les actions ajoutées au wp_head/wp_footer conditionnellement ...
Ceci est une partie du script du plugin:
// Outputting SyntaxHighlighter's JS and CSS
add_action( 'wp_head', array( $this, 'output_header_placeholder' ), 15 );
add_action( 'wp_footer', array( $this, 'maybe_output_scripts' ), 15 );
Maintenant, je voudrais ajouter un filtre qui dit:
if(is_home() || is_category()) {
// REMOVE THOSE SCRIPS
}
.
Je ne veux pas changer ce code de plugin parce que j'aurais
à se souvenir de le refaire quand il met à jour ...
Comment puis-je filtrer ces actions en cas de besoin?
Vous pouvez essayer ceci (non testé):
add_action( 'wp_head',
function(){
// your conditions:
if( is_home() || is_category() )
{
// access the global SyntaxHighlighter object instantiated at 'init'.
global $SyntaxHighlighter;
// remove your action hooks:
remove_action( 'wp_head',
array( $SyntaxHighlighter, 'output_header_placeholder' ),
15 );
remove_action( 'wp_footer',
array( $SyntaxHighlighter, 'maybe_output_scripts' ),
15 );
}
}
);
pour supprimer ces crochets d’action conditionnellement avec des balises de gabarit Nous utilisons l'action wp_head
avec la priorité par défaut 10
.
Vous pouvez utiliser d'autres hooks, mais ils doivent être déclenchés avant wp_head
avec une priorité 15
et après la création de l'objet $SyntaxHighlighter
via le crochet init .
Vous devez également vous assurer que les balises de modèle que vous souhaitez utiliser dans vos contrôles conditionnels sont disponibles dans le hook que vous avez choisi.