特定の投稿や、特定のページのコンテンツのみを取得したいとき、postIDで取得しても、良いのだが、開発環境においてはDBが別のため、本番とIDが異なるときもある。
slugから投稿を取得する方法
slugを使って記事を取得できれば、開発者だけでなく、Wordpressの管理者自身にも、仕様として分かりやすいだろう。特に、固定ページのスラッグは、管理画面から変更できる
コードはこちら:
$arg = array( 'post_type' => 'post', 'post_status' => 'publish', 'numberposts' => 1, 'post_name' => 'slug_of_page_you_want' ); ) $my_posts = get_posts( $arg ); // 取得に失敗していれば、falseが帰ってくるはず。 if( $my_posts ) echo $my_posts[0]->post_content;
ちなみに、投稿オブジェクトを取得できれば、あとは関連フィールドの取得は容易だ。
投稿のフィールドについては:
http://codex.wordpress.org/Database_Description#Table:_wp_posts
フィールドの値を取得する関数は以下: