自分でwordpressのphpをいじっていると、記事の情報を引っ張りだしたくなることありますね。
そんなときに使うのが「get_post()」関数です。
使い方は簡単。
「get_post()」で現在表示しているページの情報を引っ張り出すか、
「get_post($id)」と$idにパラメータを与えて、指定したページの情報を引っ張り出すかです。
この$idは投稿記事のIDです。
(パソコンからの場合、編集にカーソルを合わせて表示されるURLにも出てきます)
勿論get_postで取得した情報を格納する場所が必要ですので、受取用の変数を用意しましょう。
$post = get_post(); //現在表示している記事の情報を$postに格納します
$post2 = get_post(1234); //記事ID1234の情報を$post2に格納します
獲得した記事情報を変数から引っ張り出す
get_postで獲得した値は配列として格納されます。
格納した時点でキーが設定されているので、通常の配列同様変数名->キーで呼び出しましょう。
キーと、取得できる値は以下の通り。私もよく使うものについてはコメントを入れています。
キー | 格納される値 |
ID | 記事のID |
post_author | 記事の投稿者のID |
post_date | 記事の投稿日時。日本時間の場合、下の「post_date_gmt」より9時間進んでいる |
post_date_gmt | 記事の投稿日時のグリニッジ標準時版。 |
post_content | 記事の本文。ちなみにechoすると記事内容がそのまま表示される |
post_title | 記事のタイトル |
post_excerpt | |
post_status | 記事の公開状態 "draft"は下書き、公開は"publish"、 "private" は非公開 |
comment_status | 記事設定がコメントできる状態かどうか。"open"か"close" |
ping_status | |
post_password | |
post_name | 記事のスラッグ。 |
to_ping | |
pinged | |
post_modified | 記事の修正日時。日本時間の場合、下の「post_modified_gmt」より9時間進んでいる |
post_modified_gmt | 記事の修正日時のグリニッジ標準時版。 |
post_content_filtered | |
post_parent | |
guid | ページのURL |
menu_order | |
post_type | 投稿記事か、固定ページか |
post_mime_type | |
comment_count | コメントの数。 |
filter |
$get_id = $post->ID; //$postから記事のIDを取得する
$get_date = $post->post_date; //$postから記事の投稿日時を取得する
カテゴリ情報はついてこない
上の表を見てわかる通り、カテゴリに関する情報は一切ついてきません。
どのカテゴリに属するかは「get_the_category()」関数から取得しましょう。