前回までの記事で、同カテゴリの記事を紹介する関連リンクを作るのに、
いろいろ調べて、get_posts()関数を使ってみた。。。という話を書いたと思います。
今日は、もう一つの候補。new WP_Queryを使ってみたというお話。
ぜひ、見て欲しい参考記事
new WP_Queryを使う初心者の方に、ぜひ一度見ていただきたいのが、この記事。
というか、ワードプレスのフォーラムのやり取りなんです。
WordPress > フォーラム wp_queryがリセットされない
この中で、非常に役に立つ公式が紹介されています。
<?php // クエリ $my_query = new WP_Query( $args ); // ループ while ( $my_query->have_posts() ) : $my_query->the_post(); the_title(); endwhile; // 投稿データをリセット wp_reset_postdata(); ?>
これは、上記記事の引用です。
- $argsで、呼んでほしい記事のパラメーターを指定する。(パラメーター参考:関数リファレンス/WP Query – WordPress Codex 日本語版)
- WP_Queryを使って、必要な記事を呼んでくる。
- 条件分のものはすべてループで表示させる。
- 一連の操作が終わったら、wp_reset_postdata()で、クエリデータをリセットする
頭の中で、一連の4つの動作があると覚えておけば、
あとは、自分でプログラムを書くなり、他人のソースを参考にする時に、大いに参考になると思います。
おすすめの参考記事
関連記事をプラグインを使わずに表示する!WordPress高速化Tips! – ウェブソク
管理人は、この記事をそのまま・・・いや、一か所変えて使っています。
行の説明も、パラメーターの説明もしっかりつけてくださっていますので、
条件を変える時も、簡単だと思います。(例では、ランダム表示だが通常表示など)
っで、変えたのは最後の一行を
wp_reset_query(); → wp_reset_postdata();
に変更しています。理由は、上記リンクの公式にあてはめたから。
後は、表示させるところ、表示形式を自分のサイトに当てはめるだけです。
記事中に表示させるのもOK
前の記事で、get_posts()だと、記事中に指定の記事を呼んでくるのが、難しいと書きましたが、
この、new WP_Query()を使うと上手く行くようです。
$argsのところを上手に条件指定すること(以下は例)
$args = array( 'tag'=> 'example', 'posts_per_page' => 5 );
ただ、前記事でも書きましたが、あんまり誉められた用法ではないようなので、
ここでは、ソースを書くことはやめておきます。
functions.phpに書いて、ショートコードで呼んでくるというやり方です。
ちなみに、この記事下にある「同カテゴリ記事関連リンク ピックアップ」が、管理人が採用した関連記事リンク。
カテゴリの内容を10件、ランダムに表示。
末尾に、カテゴリリンクを貼っています。
「関連記事リンクを作る」の一連記事
関連記事リンクを作る過程で、当ブログに投稿した一連の記事です。
関連記事リンクを作るのに、query_posts()は使わないほうがいい
月間100万PVを誇る。。。という有名ブログにはたいていついている機能。 関連記事リンクをつけてみようと思ったんです。 よく、記事下に、「この記事もいかがですか?」みたいな記事がありますよね。 あの機能のことです。 機能 […]
2013年12月02日get_posts()で関連記事リンクを作る
前回の記事で、関連記事リンクを作りたいが、query_posts()は使わないほうがいい。 という記事をご紹介したと思います。 っで、今日はその続きの記事。 get_posts()を使ってみよう 記事の末尾で、重要なサジ […]
2013年12月03日new WP_Queryを使って、関連リンク記事を作る
前回までの記事で、同カテゴリの記事を紹介する関連リンクを作るのに、 いろいろ調べて、get_posts()関数を使ってみた。。。という話を書いたと思います。 今日は、もう一つの候補。new WP_Queryを使ってみたと […]
2013年12月04日