Fonction de shortcode simple:
function my_shortcode_function($atts,$content=null){
// Do something
return $content;
}
add_shortcode('my_shortcode','my_shortcode_function');
Je me demande comment ajouter plus de classe de corps supplémentaire lorsque l'utilisateur utilise ce shortcode dans son contenu.
Je ne peux pas faire quelque chose comme:
function my_shortcode_function($atts,$content=null){
// Do something
add_filter('body_class','my_body_class');
return $content;
}
function my_body_class($classes) {
$classes[] = 'foo';
return $classes;
}
add_shortcode('my_shortcode','my_shortcode_function');
Une idée ?
Je fais quelque chose comme ça dans un de mes plugins:
function my_body_class( $c ) {
global $post;
if( isset($post->post_content) && has_shortcode( $post->post_content, 'your-shortcode' ) ) {
$c[] = 'your-class';
}
return $c;
}
add_filter( 'body_class', 'my_body_class' );
Je ne suis pas sûr que c'était vraiment nécessaire, mais je ne peux probablement pas l'enlever maintenant TheDeadMedic a raison, vous devriez réfléchir à la nécessité de le faire.