WordPressテーマtwentyfifteenで構造化データhatomのauthor不足エラー

Googleウェブマスターツールの検索のデザインでは
microformats.orgなどの構造化データに不測がないかチェックできるのですが
Wordpressのデフォルトテーマtwentyfifteenは、基本的に一覧でauthorが表示されません。

そのため、Googleウェブマスターツールで
構造化データhatomのauthorがありませんというエラーがでます。
このエラーを消すためには、twentyfifteenのテンプレートファイルを2箇所編集します。

hatom構造化データ内で常にauthorも表示

編集対象のテンプレートファイルはこちら
inc/template-tags.php

小テーマでカバーできないファイルなので、twentyfifteenをアップデートするたびに修正しなければいけないのが面倒です…

一覧でauthorも表示

twentyfifteenでは、執筆者が複数いるときだけ一覧でもauthorが表示されるようになっています。

ソース内のauthorという記述を検索し
執筆者が複数いるかどうか分岐させているif文をコメントアウトして、authorが常に表示されるようにします。

if ( 'post' == get_post_type() ) {
	// if ( is_singular() || is_multi_author() ) {
		printf( '<span class="byline"><span class="author vcard"><span class="screen-reader-text">%1$s </span><a class="url fn n" href="%2$s">%3$s</a></span></span>',
			_x( 'Author', 'Used before post author name.', 'twentyfifteen' ),
			esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
			get_the_author()
		);
	// }
}

画像詳細でauthorも表示

画像詳細ではいつもauthorは省略されています。

編集するファイルは同じくtemplate-tags.php。

画像詳細ページ向けの設定をしているところを探すため
ソース内のwp_attachment_is_imageという記述を検索し、authorが表示されるよう追記します。

上の一覧でauthorも表示のとき分岐を外した3~7行目のソースをコピー&ペーストすればauthor表示を追加できます。

if ( is_attachment() && wp_attachment_is_image() ) {
	// Retrieve attachment metadata.
	$metadata = wp_get_attachment_metadata();

	printf( '<span class="byline"><span class="author vcard"><span class="screen-reader-text">%1$s </span><a class="url fn n" href="%2$s">%3$s</a></span></span>',
		_x( 'Author', 'Used before post author name.', 'twentyfifteen' ),
		esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
		get_the_author()
	);

	printf( '<span class="full-size-link"><span class="screen-reader-text">%1$s </span><a href="%2$s">%3$s &times; %4$s</a></span>',
		_x( 'Full size', 'Used before full size attachment link.', 'twentyfifteen' ),
		esc_url( wp_get_attachment_url() ),
		$metadata['width'],
		$metadata['height']
	);
}

関連記事

Pocket