WordPressの記事を「特定の条件で○件出力する」方法は色々ありますが、今回はカスタムフィールドの値で記事を○件、特定の条件順に表示させようと思います。
先のブログ記事「WP-PostViews」プラグインで記事を閲覧数順に指定件数表示する方法では、WP-PostViewsプラグインを利用して記事の閲覧数(Views数)の多い記事をソートする方法を紹介させていただきましたが、これはカスタムフィールドの値を取得する方法でも代用可能ですので、前回の記事同様、WP-PostViewsプラグインを使って人気記事を表示させようと思います。
WP-PostViews のインストール
WordPress管理画面のプラグイン新規追加よりWP-PostViewsを検索するか、以下よりプラグインファイルをダウンロードします。WP-PostViews
WP-PostViewsプラグインは、管理画面上で記事の閲覧数を出力してくれるプラグインなのですが、インストールして有効化すると記事投稿画面のカスタムフィールドに「views」の値が自動的に入ってきますので、今回やりたい「Views の値でソート」の処理ができるようになります。
カスタムフィールドの値でソートする
ここからがテンプレートファイルに記述するPHPの話になりますが、まずはざっくりソースコードを紹介します。
1 2 3 |
<?php query_posts('posts_per_page=10&meta_key=views&orderby=meta_value_num&order=DESC'); ?> |
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」の値を利用しましたが、カスタムフィールドに入っている値を使って、他にも応用できると思います。
コメント