私は私のテーマのヘッダにschema.orgのマークアップを追加していますが、私が使っているテーマはthe_custom_logo();
を呼び出しており、デフォルトではitemprop
として 'logo'を使用しています。
functions.php
ファイルでこれをimage
に変更する方法はありますか?
ありがとう。
これはfunctions.phpファイルからの現在の呼び出し関数です。
add_theme_support('custom-logo');
私はあなたがitemprop="logo"
に関してグーグルバリデーターに問題があると思います。 get_custom_header
フィルタにフックしてHTML構造を変更することができます。
add_filter( 'get_custom_logo', 'my_custom_logo' );
// Filter the output of logo to fix Googles Error about itemprop logo
function my_custom_logo() {
$custom_logo_id = get_theme_mod( 'custom_logo' );
$html = sprintf( '<a href="%1$s" class="custom-logo-link" rel="home" itemprop="url">%2$s</a>',
esc_url( home_url( '/' ) ),
wp_get_attachment_image( $custom_logo_id, 'full', false, array(
'class' => 'custom-logo',
) )
);
return $html;
}
上記のコードをあなたのテーマのfunctions.php
に追加するか、あるいはステップ{ ここ に従って子テーマを作成し、それをfunctions.php
ファイルで使用してください。
@ birgireのコメントに基づいて、私はwp_get_attachment_image()
をフィルタリングするための別の関数を書きました。
add_filter('wp_get_attachment_image', function ($attachment_id, $size , $icon , $attr) {
// If the class is 'custom-logo', then change the itemprop to image
if ($attr['class'] =='custom-logo') {
$attr['itemprop'] = 'image';
}
return $attr;
},10,3);