WordPressで自由文の検索結果にリンクを張る方法

意外と知られていないWordPressの検索結果にそのままリンクを張る方法。並べ替えも出来ます。

WordPressで自由文の検索結果にリンクを張る方法

WordPressの検索機能って便利ですよね。私自身、古いタイプのWEBサイトからWordPressに乗り換えたのも、検索機能が羨ましかったからです。

過去に投稿した関連記事を紹介するとき、将来的に類似記事が増えてもその都度作業しなくて済むよう検索結果にまとめてリンクを張ることができます。

絞り込み検索や並べ替えなども出来るので、意外と応用が利きますよ。

記事本文から複数記事を参照する方法あれこれ

一般的に複数の関連記事を表示させたい場合はプラグインやPHPのループで呼び出します。

ただ、記事本文からPHPを呼び出すにはショートコードを書かなければならないし、「そこまで大げさな事をしないでリンクだけ張れれば良い」ということも多いでしょう。

そんなとき、検索結果ページにリンクを張るとそれ自体がアーカイブのように扱えるので結構便利。使い方によってはタグやカテゴリよりも細かな指定が出来ます。

カテゴリやタグなど特定ワードにリンクを張る

特定の話題で串刺したいときに使われる基本の方法です。既に設定したカテゴリやタグのアーカイブページにリンクを張るだけなので動線としても判りやすいと思います。

多くのテーマでsingle.phpに所属カテゴリへのリンクが張られますが、記事中で別のカテゴリを参照したいときにも当然使えます。

カテゴリページにリンクを張る

フォーカスしたいカテゴリ「AAAA」に対してリンクを張ります。

http://www.example.com/category/AAAA/

【カテゴリへのリンク】
<a href="http://www.example.com/category/AAAA/">
  リンク先にカテゴリ「AAAA」をつけた記事一覧が表示されます
</a>

タグページにリンクを張る

同様にタグページに対するリンクも張れます。本文中でマメにタグやカテゴリをサジェストすると読者が機能を認識&活用してくれるようになるかも知れません。

http://www.example.com/tag/BBBB/

【タグへのリンク】
<a href="http://www.example.com/tag/BBBB/">
  リンク先にタグ「BBBB」をつけた記事一覧が表示されます
</a>

例:当サイト内で「クマムシ」タグを押したときの記事一覧
クマムシ関連記事はこちら

自由文の検索結果にリンクを張る

また、知名度の割に意外と便利なのが自由文の検索結果を利用する方法です。

WordPressの検索フォームに特定単語を入れると該当する単語を含む記事リストが出てきますが、そこにリンクを貼ることも可能なんです。日本語検索するとコピペしたとき文字化けしますが、特に問題ありません。

http://www.example.com/?s=BBBB

【自由文検索結果へのリンク】
<a href="http://www.example.com/?s=BBBB">
  リンク先に文字列「BBBB」を含む記事一覧が表示されます
</a>

例:当サイト内にある「クマムシ」を含む記事一覧
クマムシという語を含む記事はこちら

なお、「BBBB」という単語を含む検索結果から更に「CCCC」も含むページを探したいときは絞り込み検索が出来ます。

http://www.example.com/?s=BBBB+CCCC

ちなみに3つ以上の単語でも有効。

ただしWordPressにビルトインされてる検索機能(get_search_form)だけではブール演算子を使った高度検索が機能しないみたいです、残念。

検索結果をソートする

検索結果は必要に応じて並び替えさせることが可能です。

日付を古い順に並び替えたい

WordPressで検索した結果は基本的に新しい記事が上に来ます。ただ、場合によっては古いものから表示したいこともあるでしょう。そんなときは昇順・降順を入れ替えることが出来ます。

検索結果の最後に &order=asc をつけると日付の古い順に表示されます。

http://www.example.com/?s=BBBB&order=asc

【日付順に記事をソートする】
<a href="http://www.example.com/?s=BBBB&order=asc">
  「BBBB」を含む記事一覧が古い順に表示されます
</a>

例:「クマムシ」を含む記事一覧を逆順に見る
クマムシ関連記事を古い順に見る

投稿者別に記事を並び替える

いくつかある引数のうち、著者を絞り込むときに使うのが author です。

個人サイトだと特に意味ないですけど、例えばショップのスタッフブログなど複数人で運営しているとき役に立ちます。

http://www.example.com/?s=BBBB&orderby=author

【投稿者で記事をソートする】
<a href="http://www.example.com/?s=BBBB&orderby=author">
  「BBBB」を含む記事が執筆者順に表示されます
</a>

おち研は所長が一人で書いてるので実装例は省きます。

タイトルで記事を並び替える

こちらも使いどころを選ぶオプションですが、シリーズ記事でタイトルに連番を付けたりしてる場合はそれなりに使い勝手があると思います。

http://www.example.com/?s=BBBB&orderby=title

【タイトルで記事を並び替える】
<a href="http://www.example.com/?s=BBBB&orderby=title">
  「BBBB」を含む記事一覧を頭文字で揃えます
</a>

例:「クマムシ」を含む記事一覧をタイトル順に表示
クマムシ関連記事を頭文字順に見る

ランダムに表示する

ある単語を含む記事をランダムでソートします。リロードする度に並び順が変わるので、あまり日の当たらないような記事を読んで欲しいときに良いかも知れません。(^^;

http://www.example.com/?s=BBBB&orderby=rand

【記事をランダムに表示する】
<a href="http://www.example.com/?s=BBBB&orderby=rand">
  「BBBB」を含む記事をランダム表示します
</a>

例:「クマムシ」を含む記事がランダムで表示されます
クマムシ関連記事をランダムで見る

おわりに

ほかにもシステム側で用意されてるソート方法が活用できるので、何か面白い方法を見つけた方は教えて下さい。

以上、何かのお役に立ちましたら幸いです。(´ω`*)

【 更新履歴等 】

2013/05/24 初稿発表
2016/04/11 章立てを判りやすく並び替えました
1453 / 旧URL /2013/05/24/link-location-search/