WordPress の投稿の全てのデータを取得する方法

WordPress の投稿の全てのデータを取得する方法を紹介します。この記事では投稿の全てのデータの取得についてで、添付ファイル(画像ファイルなど)などの投稿に関連するデータまでは取り出しません。

$post の中に全てがある

投稿の著者 ID が欲しいとか、投稿のコメント欄はどうなっているかなどの細かい情報は大抵 $post の中に入っています。試しに $post を print_r() などしてみるといろんなデータが出て来るのが分かります。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
stdClass Object
(
    [ID] => 1
    [post_author] => 1
    [post_date] => 2012-04-10 01:35:03
    [post_date_gmt] => 2012-04-10 01:35:03
    [post_content] => WordPress へようこそ。これは最初の投稿です。編集もしくは削除してブログを始めてください !
    [post_title] => Hello world!
    [post_excerpt] => 
    [post_status] => publish
    [comment_status] => open
    [ping_status] => open
    [post_password] => 
    [post_name] => hello-world
    [to_ping] => 
    [pinged] => 
    [post_modified] => 2012-04-10 01:35:03
    [post_modified_gmt] => 2012-04-10 01:35:03
    [post_content_filtered] => 
    [post_parent] => 0
    [guid] => http://localhost/demo/?p=1
    [menu_order] => 0
    [post_type] => post
    [post_mime_type] => 
    [comment_count] => 1
    [ancestors] => Array
        (
        )
 
    [filter] => raw
)

例えば投稿の公開状態を知りたい場合は以下のように取り出せます。

1
echo $post->post_status

括弧の中にある英語を当てはめれば良いです。

日本語にして覚える

こう一覧にしただけだとすぐ忘れてしまって、必要な時にどうやってデータを取り出せば良いか迷ってしまうのでここで全て解説していくことにします。

変数名 説明
ID 投稿のIDを取得する
post_author 投稿したユーザーのIDを取得する
post_date 投稿を作成した時間を取得する
post_date_gmt 投稿を作成した時間を取得する
post_content 投稿の内容を取得する
post_title 投稿のタイトルを取得する
post_excerpt 投稿の抜粋を取得する
post_status 投稿の公開状態を取得する
comment_status コメント欄の公開・非公開を取得する
post_password 投稿のパスワードを取得する
post_name 投稿のスラッグを取得する
to_ping Ping の送信先を取得する
post_modified 投稿の更新時間を取得する
post_modified_gmt 投稿の更新時間を取得する
post_content_filtered 投稿内容のフィルタを取得する
post_parent 親ページの ID を取得する
guid 投稿の URL を取得する
menu_order メニュー順序を取得する
post_type 投稿のポストタイプを取得する
post_mime_type 投稿の MIME タイプを取得する
comment_count 投稿のコメント数を取得する
ancestors ページの祖先を取得する

途中から疲れてきて名前だけ見て説明を書いたものがあります。実際に日本語で一覧にしてみると、実はこれだけ大量のデータを取り出せることが分かります。

コメント

コメントは受け付けていません。