WordPressのテンプレートファイル上などで、様々な値を取得・表示する方法をまとめました。

header.php、footer.phpなどのパーツテンプレートから、$post, $wp_queryなどの変数にアクセスする場合、

のようにグローバル宣言をする必要があります。

投稿関連

値取得echo
シングルページ・固定ページ内
タイトルsingle_post_title('', false)single_post_title()
IDget_queried_object_id()
投稿オブジェクトget_queried_object()
ループ内
タイトルget_the_title()the_title()関連: the_title_attribute
内容get_the_content()the_content()関連: get_extended
抜粋get_the_excerpt()the_excerpt()
パーマリンクget_permalink()the_permalink()関連: get_page_link
IDget_the_ID()the_ID()$id$post->IDでも取得可能
スラッグ$post->post_name
投稿タイプget_post_type()
ループインデックス$wp_query->current_post0スタート・メインループのみ
次の投稿へのリンクget_next_post_link()next_post_link()
前の投稿へのリンクget_previous_post_link()previous_post_link()
投稿IDから取得
タイトルget_the_title($id)
内容get_post_field('post_content', $id);
抜粋get_post_field('excerpt', $id);
パーマリンクget_permalink($id)
スラッグget_post_field('post_name', $id);
投稿タイプget_post_type($id)

ページング関連

値取得echo
現在のページ$paged1ページ目は01
全ページ数$wp_query->max_num_pages
ページ毎の表示件数get_query_var('posts_per_page')
現在のページの件数$wp_query->post_count
全件数$wp_query->found_posts
次のページへのリンクget_next_posts_link()next_posts_link()
前のページへのリンクget_previous_posts_link()previous_posts_link()
前後のページへのリンクget_posts_nav_link()posts_nav_link()

日付関連

値取得echo
年アーカイブURLget_year_link($year)アーカイブページ、ループ内では、引数を''にすると、そのページ/記事の年, 月, 日になる
月アーカイブURLget_month_link($year, $month)
日アーカイブURLget_day_link($year, $month, $day)
日付アーカイブページ内
年月日タイトルsingle_month_title('', false)single_month_title()日本語の場合、表示に問題あり
記事: 日付アーカイブページのタイトルを修正
get_query_var('year')
get_query_var('monthnum')
get_query_var('day')
ループ内
投稿日時get_the_time($d)the_time($d)関連: get_the_dateget_post_time
更新日時get_the_modified_time($d)the_modified_time($d)関連: get_the_modified_date,
get_post_modified_time
$dは日付・時刻のフォーマット。$dget_option('date_format')にすると、ダッシュボードで設定した日付のフォーマットを使用する。
投稿IDから取得
投稿日時get_the_time($d, $id)
更新日時get_post_modified_time($d, null, $id, true)

投稿者関連

値取得echo
投稿者名get_userdata($author_id)->display_name
投稿者アーカイブURLget_author_posts_url($author_id)
投稿者アーカイブページ内
投稿者表示名get_queried_object()->data->display_name
投稿者IDget_queried_object_id()
投稿者名get_queried_object()->data->user_nicename
ループ内
投稿者表示名get_the_author()the_author()
投稿者IDget_the_author_meta('ID')the_author_meta('ID')
投稿者アーカイブリンクthe_author_posts_link()
投稿IDより取得
投稿者IDget_post_field('post_author', $id)

カテゴリ・タグ・タクソノミー関連

カテゴリ
値取得echo
カテゴリIDget_cat_ID($cat_name)スラッグではなく名前
カテゴリオブジェクトget_category($category)$categoryはカテゴリIDかオブジェクト
get_category_by_slug($slug)
get_term_by($field, $value, 'category')
カテゴリ名get_cat_name($cat_id)
カテゴリアーカイブURLget_category_link($cat_id)
カテゴリアーカイブページ内
カテゴリ名single_cat_title('', false)single_cat_title()
カテゴリIDget_queried_object_id()
カテゴリオブジェクトget_queried_object()
ループ内
カテゴリリンクget_the_category_list()the_category()
カテゴリオブジェクトget_the_category()
投稿IDから取得
カテゴリリンクget_the_category_list('', '', $id)the_category('', '', $id)
カテゴリオブジェクトget_the_category($id)
タグ
値取得echo
タグオブジェクトget_tag($tag)$tagはタグIDかオブジェクト
get_term_by($field, $value, 'post_tag')
タグアーカイブURLget_tag_link($tag_id)
タグアーカイブページ内
タグ名single_tag_title('', false)single_tag_title()
タグIDget_queried_object_id()
タグオブジェクトget_queried_object()
ループ内
タグリンクget_the_tag_list()the_tags()
タグオブジェクトget_the_tags()
投稿IDから取得
タグリンクget_the_tag_list('', '', '', $id)
タグオブジェクトget_the_tags($id)
タクソノミー・ターム
値取得echo
タームオブジェクトget_term($term, $taxonomy)$termはタームIDかオブジェクト
get_term_by($field, $value, $taxonomy)
タームアーカイブURLget_term_link($term, $taxonomy)$termはタームIDかオブジェクト。オブジェクトの場合、$taxonomyは省略可
タクソノミーアーカイブページ内
ターム名single_term_title('', false)single_term_title()
タームIDget_queried_object_id()
タームオブジェクトget_queried_object()
ループ内
タームリンクget_the_term_list(0, $taxonomy)the_terms(0, $taxonomy)
タームオブジェクトget_the_terms(0, $taxonomy)
投稿IDから取得
タームリンクget_the_term_list($id, $taxonomy)the_terms($id, $taxonomy)
タームオブジェクトget_the_terms($id, $taxonomy)