【Twenty Twelve】投稿者情報をサイトで表示する方法

Twenty Twelveで投稿者情報を表示しない方法を以前の記事に書いたのですが、ここでは、投稿者情報だけを表示する方法について書きます。

投稿者情報の表示方法

1.関数を定義して使用する方法

funcstions.phpファイルに関数を定義して、テンプレートファイルで結果を表示する場合、まずfunctions.phpファイルに下のコードを追加します。

下のコードは、Twenty Twelveで使用するのを前提に、CSSのクラス設定を活かすほうが良いのかなと思うので、国際化対応部分だけ日本語表示に直したコードになります。

function twentytwelve_entry_meta_author() {

$author = sprintf( '<span class="author vcard"><a class="url fn n" href="%1$s" title="%2$s"  rel="author">%3$s</a></span>',
esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ),
esc_attr( get_the_author() . 'の投稿をすべて表示' ),
get_the_author()
);
echo '投稿者:' . $author;
}

投稿者名を表示するには、テンプレート(content.phpなど)で下のコードを追加します。

<?php twentytwelve_entry_meta_author() ?>

2.テンプレートファイルに直接タグを書く方法

1の投稿者名を表示する関数の場合、投稿者ページへのリンクも出力しますが、単純に投稿者名だけを表示する場合下のコードをcontent.phpファイルなどに追加します。

<?php the_author() ?>

または下のコードを追加します。

<?php echo get_the_author(); ?>

関数定義の所にもあるget_author_posts_url()は、投稿者urlを取得するもので、下のコードで投稿者ページのURLを出力します。

get_author_posts_url( get_the_author_meta( 'ID' ) );

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です