WordPress │ 複数タグによるAND検索というか絞り込み

WordPress │ 複数タグによるAND検索というか絞り込み

偶然、WordPressにおいて複数のタグでAND検索する方法というか、タグ検索時に複数のタグを指定できる方法を見つけたので、軽い興奮とともにお伝えしたい!!

256ミリ秒ほどググった感じだと、ほかにこの方法を紹介している記事はなかったので、ヒジョーに有益な情報か、あるいは全く誰の役にも立たない情報かのどちらかだと思います。

なぜタグなのか

タグ、使いますよね?

みなさんタグ使いますよね? タグ。

ぼくは使います。使いまくります。

階層構造なんて要らない。すべてフラットに、タグでフィルタリングできればいい。

っていうくらい、個人的にはタグ好き。

情報にタグ付けをして整理するのも好きだし、タグ付けした情報をタグ検索してフィルタリングするのも好き。

WordPressでもEvernoteでも、Gmail(の場合は「ラベル」と言います)でもファイルシステム(っていうかmacOSのFinder)でも、タグ管理機能を持つものはなんだってタグ管理したい。

タグの良さ

ここまで熱く語ってきて「あれもしかして、この記事読んでる人タグ知らなくね?」って急に不安になってきたので、WordPressにおける「カテゴリー」との対比から「タグ」を説明していきたい。

カテゴリーとは

「タグ」の前に、先に「カテゴリー」を説明しますが、WordPressにおいて、カテゴリーっていうのは、記事を分類分けするための機能です。

この記事の場合、下記のようにTECHカテゴリー分類していることになります。

「カテゴリー」は階層構造なので、親カテゴリーとか子、孫カテゴリーが持てます。上記だと、TECHカテゴリーの親はHOMEと見なすことができます。

階層構造の代表例として、ファイルシステムのフォルダー構造(Windowsなど)やディレクトリ構造(macOSやUnix/Linuxなど)を思い浮かべると、理解が早いかもしれません。

階層構造は下記のような特徴を持っています。

  • 親はひとつ
  • 子にたどり着くために親から順にアクセスする必要がある

カテゴリーのデメリット

階層構造のデメリットとして、親はひとつなので、分類するときに「どの親を持つか(どの親に属させるか)」に迷うことがあります。そもそも分類学っていう学問があるくらいなので、素人が安易に手を出すと収拾がつかなくなることがあります。

また、親から順にアクセスする必要があるため、親を間違えると目的物(オブジェクト – WordPressなら記事、ファイルシステムならファイル)にたどり着けません。これは、深いフォルダー構造(ディレクトリ構造)でファイルを探そうとしてなかなか見つからない、といったシーンでよく見かけると思います。

タグとは

「タグ」という概念は、この「カテゴリー」のアンチテーゼとして生まれてきた、と理解しています。

「タグ」は、目的物(オブジェクト)につけるメタ情報(情報に付随する付加情報 – メタデータ)で、商品についているタグやラベルをメタファーとして思い浮かべると、理解しやすいと思います。

オブジェクトの付加情報であるため、下記のようなメリットがあります。

  • オブジェクトの容れ物としての情報管理構造であるカテゴリーと共存できる
  • タグ検索によりカテゴリーを横断した横串検索ができる
  • 複数のタグを指定することにより絞り込みができる

タグのデメリット

「タグ」にもデメリットはあって、しばしばそのときの興味で思いつきのタグを付与してしまい、オブジェクトの総量に対し、多すぎるタグをつけてしまうことが挙げられます。タグを管理するためのタグが欲しくなったりして、本末顛倒だったりします。

個人的には、カテゴリーを大きな概念、タグを細かな概念として分けて、使い分けていくのが良いかなと思っています。

WordPressの記事をタグで絞り込む

「タグ」に対する思い入れが強すぎて、本題にだどりつくのに文字数を使いすぎました…。

ここでは、「タグ」のメリットのひとつである、複数のタグを指定することで絞り込みができるという機能を、WordPressの記事で実施するためにはどうすれば良いか、ということを解説していきます。

ちなみに「カテゴリー」でなぜ複数指定による絞り込みができないかと言うと、親がひとつしかないからですね。容れ物を複数指定してもAND検索はできない、ということです。OR検索ならできますけどね。

ひとつのタグで絞り込む

複数タグの前に、まずはひとつの「タグ」を指定する方法から解説します。

WordPressにおいては、URLに/tag/タグのスラッグ/という形式を指定するとこの「タグ」で絞り込まれた記事が表示されます。

例えば、当サイトでWordPressという「タグ」で絞り込む場合、下記のようなURLを組み立てれば良いわけです。

https://moretemasen.com/tag/wordpress/

CSSという「タグ」で絞り込む場合は、こうですね。

https://moretemasen.com/tag/css/

まぁ、このくらいは普段、「タグ」で絞り込みをしていれば気づくと思います。

複数のタグで絞り込む

改めて説明すると、「タグ」っていうのは、ひとつのオブジェクト(WordPressの記事)にいくつもつけられます。また、「タグ」の利用目的が「横串検索」であり、大量の記事を横断的に検索するもの(フィルタリングするもの)だと理解していれば、「複数のタグを指定することによってAND検索できる」という直感を持つのは正しい

要は、WordPressという「タグ」がついた記事の中から、さらにCSSっていう「タグ」もついた記事を絞り込む(AND検索する)ためには、「複数のタグを指定する」というのが自然な方法ですよ、ということです。

いよいよ本題。

WordPressの場合、以下のように、複数の「タグ」を+で結合してURLを組み立てると、複数タグを指定できます。

https://moretemasen.com/tag/wordpress+css/

WordPressCSSで絞り込みを行う場合、wordpress+cssとするわけですね。「複数指定する要素を+記号で結合する」という方法もヒジョーに直感的で好感が持てます。

さらにXserverで絞り込む場合は以下のようになります。ただしWordPressCSSXserverの3つすべてのタグがついた記事はないので、記事はヒットしません。

https://moretemasen.com/tag/wordpress+css+xserver/

WordPressXserverが付与された記事は存在するので、下記のようにURLを組み立てればヒットします。

https://moretemasen.com/tag/wordpress+xserver/

順番を逆に指定しても、当然同じ結果が返ってきます。

https://moretemasen.com/tag/xserver+wordpress/

まとめ

まずは「タグ」とはどういうものか、ということをカテゴリー(階層構造)との対比で説明しました。

続いて、本題の「WordPressで複数のタグを指定して絞り込みを行う方法」を解説しました。具体的には、+で「タグ」のスラッグの結合したURLを組み立てれば良い、ということでした。

情報整理に「タグ」が有効活用できるようになれば幸いです。