WordPressの次期標準テーマであるTwenty Fourteenに注目されている方も多いと思います。
個人的にはこのテーマを見ていると、ニュースサイトのようなものを運営したくなりました。
12月11日現在Githubで公開されている3.8-RC2にはこのTwenty Fourteenが含まれていますので、気になる方はダウンロードして使うこともできます。
おすすめのコンテンツにしっかり注目してもらえるよう、ホームページではグリッドまたはスライダーを使って6つの記事を表示できます。
その6つの記事はどうやったら表示できるのか?という疑問が出てきましたので、表示させる方法を調べました。
そんなん常識だよ!誰でも知ってるよ!という内容でしたらすいません。。。。(;´Д`)
ADs
アイキャッチがあるほうがより見栄えがしますので、アイキャッチを設定している記事のタグを選ぶといいと思います。
「うちのブログはタグあんまり使ってないねん!」とか、「ランダムで出すようにしたいねん!」とか、好きなように選びたい場合もあるでしょう。
そのような場合はおすすめコンテンツを取得するフィルターフックがありますので、そこで好きなように指定することができます。
1 2 3 4 5 6 7 8 9 10 |
function myfuture($array){ //たとえばサムネイルのある投稿だけを6件取得する $array = get_posts(array( 'meta_key' => '_thumbnail_id', 'numberposts' => 6 )); return $array; } add_filter('twentyfourteen_get_featured_posts','myfuture',100); |
「twentyfourteen_get_featured_posts」はおすすめコンテンツを取得する際に実行されます。
このおすすめコンテンツ機能はadd_theme_support関数で有効化させる必要があるのですが、その際にこの「twentyfourteen_get_featured_posts」が指定してあります。ですのでテーマによってはまったく違う名前となりますのでご注意ください。
おすすめコンテンツの機能が使えるテーマではfunctions.php内に以下のような記述がありますので、その中の「featured_content_filter」を確認して下さい。
1 2 3 4 5 |
add_theme_support( 'featured-content', array( 'featured_content_filter' => 'mytheme_get_featured_posts', 'max_posts' => 20, 'additional_post_types' => 'page', ) ); |
このフィルターフックで投稿オブジェクトを返せば(つまりget_postsなどで得られる結果)、おすすめコンテンツはその返した投稿になります。
通常のget_postsで指定できるパラメータは何でも指定できますので、たとえばmeta_queryで更に細かく条件を指定したり ‘orderby’=>’rand’ としてランダムに取得したり、一番目立つ部分を自由にコントロールすることができるでしょう。
2013.12.14追記
上記のフィルターフックで記事オブジェクトを返せばJetPackのインストールは不要です。
ADs
上記手順通りにやってみたのですが、6つの記事が表示されず、まだ、ホームが寂しいままです。何が問題なのでしょうか?
Masaru Nagai 様
コメントありがとうございます。
投稿されている記事にアイキャッチ画像は設定されていますか?
また、JetPackを使う方法か、add_filterで直接おすすめ記事を返す方法のどちらを使われているかが分かれば問題解決のヒントになるかもしれません。