固定ページに投稿者名と投稿日付を表示

関数がいろいろあるので、以下のようなコードを、wp-content/themes/twentytwelve/content-page.php に書けばできました。

        投稿者名:<?php echo get_the_author_meta('display_name'); ?><br />
        投稿日時:<?php echo get_the_author_meta('registered'); ?>

これでは困った時に応用が効かないので、もう少し面倒な方法でもやってみることにしました。
グローバル変数 $post の中を展開してみると、WordPress標準のサンプルページはこんな感じでした。

object(WP_Post)#121 (24) {
  ["ID"]=>
  int(2)
  ["post_author"]=>
  string(1) "1"
  ["post_date"]=>
  string(19) "2013-07-07 06:20:12"
  ["post_date_gmt"]=>
  string(19) "2013-07-07 06:20:12"
  ["post_content"]=>
  string(1415) "これはサンプルページです。同じ位置に固定され、(多くのテーマでは) サイトナビゲーションメニューに含まれるため、ブログ投稿とは異なります。サイト訪問者に対して自分のことを説明する自己紹介ページを作成するのが一般的です。たとえば以下のようなものになります。 

はじめまして。昼間はバイク便のメッセンジャーとして働いていますが、俳優志望でもあります。これは僕のブログです。ロサンゼルスに住み、ジャックという名前のかわいい犬を飼っています。好きなものはピニャコラーダ (通り雨に濡れるのも) 。


または、このようなものでもよいでしょう。

XYZ 小道具株式会社は1971年の創立以来、高品質の小道具を皆様にご提供させていただいています。ゴッサム・シティに所在する当社では2,000名以上の社員が働いており、様々な形で地域のコミュニティへ貢献しています。


新しく WordPress ユーザーになった方は、ダッシュボードへ行ってこのページを削除し、独自のコンテンツを含む新しいページを作成してください。それでは、お楽しみください !"
  ["post_title"]=>
  string(21) "サンプルページ"
  ["post_excerpt"]=>
  string(0) ""
  ["post_status"]=>
  string(7) "publish"
  ["comment_status"]=>
  string(4) "open"
  ["ping_status"]=>
  string(4) "open"
  ["post_password"]=>
  string(0) ""
  ["post_name"]=>
  string(11) "sample-page"
  ["to_ping"]=>
  string(0) ""
  ["pinged"]=>
  string(0) ""
  ["post_modified"]=>
  string(19) "2013-07-07 06:20:12"
  ["post_modified_gmt"]=>
  string(19) "2013-07-07 06:20:12"
  ["post_content_filtered"]=>
  string(0) ""
  ["post_parent"]=>
  int(0)
  ["guid"]=>
  string(37) "http://wp.cosmepolitan.net/?page_id=2"
  ["menu_order"]=>
  int(0)
  ["post_type"]=>
  string(4) "page"
  ["post_mime_type"]=>
  string(0) ""
  ["comment_count"]=>
  string(1) "0"
  ["filter"]=>
  string(3) "raw"

投稿日時に関してはここにあるので、$post->post_date で簡単に取れそうです。
ただ、投稿者名に関してはなく、投稿者ID(post_author)しか取れないようです。
それならDBから取ろうということで、投稿者名はスーパー変数 $wpdb を使うようにして、以下のようなコードで表示させてみました。
記述場所は、同じ wp-content/themes/twentytwelve/content-page.php です。

<?php
    $results = $wpdb->get_results("select * from wp_users");
    foreach($results as $val){
        $arrUser[$val->ID] = $val->display_name;
    }
    $post->post_author_name = $arrUser[$post->post_author];
?>
        投稿者名:<?php echo $post->post_author_name; ?><br />
        投稿日時:<?php echo $post->post_date; ?>
カテゴリー: 未分類   パーマリンク

コメントを残す

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


*

* Copy This Password *

* Type Or Paste Password Here *

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>