works_secondary-image_thumbnail_html
不是WordPress核心挂钩,因此您的代码永远不会执行。
只要通过调用wp_get_attachment_image
在主题中,可以通过挂接到wp_get_attachment_image_attributes
:
add_filter( \'wp_get_attachment_image_attributes\', \'wpse_235266_image_attributes\', 10, 3 );
function wpse_235266_image_attributes( $attr, $attachment, $size ) {
$attr[\'itemprop\'] = \'image\';
return $attr;
}
对于在可视化编辑器中插入到帖子内容中的图像,您需要在
get_image_tag
钩子来更改插入到每个帖子中的HTML。
add_filter( \'get_image_tag\', \'wpse_235266_image_html\', 10, 6 );
function wpse_235266_image_html( $html, $id, $alt, $title, $align, $size ) {
return str_replace( \'<img \', \'<img itemprop="image" \', $html );
}
请注意,这意味着您现有的帖子(其中HTML已经保存在内容中)将无法获得您的新属性。您需要对旧帖子数据执行全局替换以进行此更改,或者在编辑器中处理帖子,对所有图像进行更改,从而导致WP将HTML重新写入帖子内容。