J'essaie d'ajouter une classe CSS à chaque image d'un type d'article personnalisé.
J'ai trouvé cette réponse , pour ajouter une classe à chaque image en général:
function add_image_class($class){
$class .= ' additional-class';
return $class;
}
add_filter('get_image_tag_class','add_image_class');
Comment pourrais-je construire sur cela, de sorte que cela ne s'applique qu'à un type de publication personnalisé?
En combinant la réponse ici @cjcj avec le code dans cette réponse , le code qui fonctionne pour moi en dehors de la boucle dans functions.php est:
// Add ability to check for custom post type outside the loop.
function is_post_type($type){
global $wp_query;
if($type == get_post_type($wp_query->post->ID)) return true;
return false;
}
// Add class to every image in 'wpse' custom post type.
function add_image_class($class){
if ('wpse' == is_post_type()){
$class .= ' additional-class';
}
return $class;
}
add_filter('get_image_tag_class','add_image_class');
La fonction get_post_type
renvoie le type de publication en cours. Par conséquent, si vous souhaitez ajouter cette classe uniquement à un type de publication appelé "wpse", vous devez inclure une condition comme celle-ci:
function wpse237573_add_image_class($class){
if ('wpse' == get_post_type()) $class .= ' additional-class';
return $class;
}
add_filter('get_image_tag_class','wpse237573_add_image_class');