カスタム投稿タイプのすべての画像にCSSクラスを追加しようとしています。
私は この答え を見つけました。一般的にすべての画像にクラスを追加します。
function add_image_class($class){
$class .= ' additional-class';
return $class;
}
add_filter('get_image_tag_class','add_image_class');
カスタム投稿タイプにのみ適用されるようにするには、どうすればよいでしょうか。
ここでの答えと@cjcjによる答えを この答え のコードと組み合わせると、ループの外で私のために働くコードはfunctions.phpです。
// 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');
関数 get_post_type
は現在の投稿のタイプを返すので、このクラスを 'wpse'という投稿タイプにのみ追加したいとします。次のような条件付き
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');