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

コメント