get_posts関数を使ってWordPressの記事情報を取得しよう

get_posts
元調理師エンジニアリョウ
リョウ
WordPressはPHP+SQLで作られています。特定の条件で記事を取得したい場合、SQLが必要ですがSQL出来ない…そんな人はget_posts関数を使えば大丈夫です!

get_postsとは

条件にマッチする投稿データの配列を取得するテンプレートタグです。

get_postsの使い方

基本的な記述例は下記になります。

get_postsを使って新着記事を取得

では、上記を利用して新着記事を取得してみましょう。

条件に使っているパラメータ

パラメータ名意味
post_type投稿タイプ
post_status投稿ステータス
order並び順
numberposts表示数

$new_query に最新記事4つのデータの配列があります。これをfor文やforeach文などでループさせて使ってください。

関数にまとめて表示数を引数で渡す

function.phpにnew_functionという関数を用意しました。$numに表示数を入れて使用して下さい。

get_postsを使って関連記事を取得

single.phpで関連記事を取得したいときなどに使います。

条件に使っているパラメータ

パラメータ名意味
post_type投稿タイプ
post_status投稿ステータス
order並び順
numberposts表示数
category_nameカテゴリーのスラッグを指定
exclude除外する記事ID

今見ている記事の記事ID以外で、同じカテゴリーの記事を最新順に取得しています。

get_postsとカスタムフィールドを使って記事を取得

wp_postmetaテーブルの値をget_postsの条件に使用したい時に使います。

上記は、「WP-PostViews」プラグインを使用しており、人気記事を取得する例文になります。

条件に使っているパラメータ

パラメータ名意味
post_type投稿タイプ
post_status投稿ステータス
numberposts表示数
orderby並び順はどこのカラムの値を見るか
meta_keymeta_keyを指定
order並び順

リョウからヒトコト

元調理師エンジニアリョウ
リョウ
get_posts関数を使えば、SQLが使えない方でも簡単に記事を取得できますね。とても便利な関数なので、ぜひ覚えて使ってください。