[WordPress]カスタムフィールド値で投稿記事をソートし閲覧数順に一覧表示する方法

WordPress
スポンサーリンク

WordPressの記事を「特定の条件で○件出力する」方法は色々ありますが、今回はカスタムフィールドの値で記事を○件、特定の条件順に表示させようと思います。

先のブログ記事「WP-PostViews」プラグインで記事を閲覧数順に指定件数表示する方法では、WP-PostViewsプラグインを利用して記事の閲覧数(Views数)の多い記事をソートする方法を紹介させていただきましたが、これはカスタムフィールドの値を取得する方法でも代用可能ですので、前回の記事同様、WP-PostViewsプラグインを使って人気記事を表示させようと思います。

WP-PostViews のインストール

WordPress管理画面のプラグイン新規追加よりWP-PostViewsを検索するか、以下よりプラグインファイルをダウンロードします。
WP-PostViews

WP-PostViewsプラグインは、管理画面上で記事の閲覧数を出力してくれるプラグインなのですが、インストールして有効化すると記事投稿画面のカスタムフィールドに「views」の値が自動的に入ってきますので、今回やりたい「Views の値でソート」の処理ができるようになります。
WordPressのカスタムフィールド値で投稿記事をソートし、閲覧数順に一覧表示する方法

カスタムフィールドの値でソートする

ここからがテンプレートファイルに記述するPHPの話になりますが、まずはざっくりソースコードを紹介します。


query_posts()の引数は以下の通りです。

posts_per_page=10

記事を10件出力しています。

meta_key=views

カスタムフィールドの「views」を指定します。

meta_value_num

meta_value_numでカスタムフィールドの値を「数値」として扱うことができるようになります。

order=DESC

降順」でソートという感じです。
※ちなみに、降順は「DESC」ですが、昇順は「ASC」です。


上記組み合わせにより、カスタムフィールドのViews の数値が高い順(閲覧数が高い順)に記事をソートすることができるようになります。

参考サイト
http://wpdocs.sourceforge.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88%E3%82%BF%E3%82%B0/query_posts


今回は分かりやすいのでWP-PostViewsプラグインによる「Views」の値を利用しましたが、カスタムフィールドに入っている値を使って、他にも応用できると思います。

コメント

タイトルとURLをコピーしました