記事投稿時に変更するのか、記事表示時に変更するのかでコードが変わってきます。
記事表示時
/* 記事画像からaltを除く */ add_filter('the_content', 'my_img_filter'); function my_img_filter($html) { global $post; // altを削除 $result = array(); preg_match_all('|alt="[^"]*"|U', $html, $result); foreach($result[0] as $img_tag) { $html = str_replace($img_tag, '', $html); } $result = array(); preg_match_all("|alt='[^']*'|U", $html, $result); foreach($result[0] as $img_tag) { $html = str_replace($img_tag, '', $html); } // altにタイトルを付加する $post_title = get_the_title(); $html = preg_replace('/(<img.*?)\/>/', '$1 alt="'.esc_attr($post_title).'" />', $html); return $html; } /* アイキャッチからaltを除く */ add_filter('post_thumbnail_html', 'my_thumbnail_filter', 99, 5); function my_thumbnail_filter($html, $post_id, $post_thumbnail_id, $size, $attr) { // altを削除 $result = array(); preg_match_all('|alt="[^"]*"|U', $html, $result); foreach($result[0] as $img_tag) { $html = str_replace($img_tag, '', $html); } $result = array(); preg_match_all("|alt='[^']*'|U", $html, $result); foreach($result[0] as $img_tag) { $html = str_replace($img_tag, '', $html); } // altにタイトルを付加する $post_title = get_the_title(); $html = preg_replace('/(<img.*?)\/>/', '$1 alt="'.esc_attr($post_title).'" />', $html); return $html; }
参考:php – How do I change/modify the_post_thumbnail(); html output? – WordPress Development Stack Exchange
参考:WordPress › Support » Remove title= attribute from the_post_thumbnail
記事投稿時
function img_norightclick($html, $id, $alt, $title, $align, $size) { return str_replace('/>','oncontextmenu="alert(\'保存できません\');return false; />',$html); } add_filter('get_image_tag','img_norightclick', 10, 6);
日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)