• 赤色のリンクは、まだ日本語Codexに存在しないページ・画像です。英語版と併せてご覧ください。(詳細

このWikiはいつでも誰でも編集できます

タグ付け機能

提供: WordPress Codex 日本語版
移動先: 案内検索

WordPress 2.3 では、従来プラグインで対応していた「タグ付け」機能がコアに実装されました。Codex や個人サイトでドキュメントが公開されつつありますが、不明なことがまだまだ残っていそうです。

そこで、このページでは、2.3 のタグ付け機能の全貌をまとめてみたいと思います。
WordPress 本体で何ができるのか、何ができなくて、どんなプラグインが用意されているのか、調べていきます。

  • 以下の情報は、既存ドキュメントやソースコードを元にまとめています。実物を検証していないことにご留意ください。
  • 実際に WordPress 2.3 や関連プラグインを試している方、ソースを読める方から、生情報を教えてもらえたらうれしいです。

機能概要

記事にタグ[1]を付けられる
記事投稿画面の本文編集欄の下に、タグ入力欄
日本語タグ名についての注意事項
タグ表示
記事表示時に、付けたタグを一覧表示。タグ名をクリックするとタグアーカイブページを表示。
タグクラウド・ウィジェット
テーマ > ウィジェット 画面にてタグクラウド使用可 [2]
従来のプラグインデータのインポート 
カテゴリ→タグ変換(オプション) 
  • 管理 > インポート 画面 [3]
  • タグに変換したいカテゴリを選択可 [3]
  • カテゴリとタグは併用可
タグ管理画面
なし[4]。プラグインまたは DB を手修正か。
タグアーカイブページ 
1タグのとき 
  • http://example.com/?tag=foo
  • http://example.com/tag/foo/ (パーマリンク設定時)
複数タグのとき
"tag" クエリ変数を用いたタグの積集合および和集合。訪問者がこのページを表示するインタフェースの作り方は不明。
  • "foo" または "bar" タグの一方または両方が付いている投稿記事:
    • http://example.com/?tag=foo,bar
    • http://example.com/tag/foo,bar/ (パーマリンク設定時)
  • "foo" と "bar" タグの両方が付いている投稿記事:
    • http://example.com/?tag=foo+bar
    • http://example.com/tag/foo+bar/ (パーマリンク設定時)
boren.nu » Taxonomy Intersections and Unions
わーどぷれすっ! » タクソノミーの積集合と和集合、、の訳
パーマリンク設定画面に /tag 部分の設定項目あり。
タグ別フィード
タグアーカイブページのフィード。フィードの種類によって '=rss''/feed/' の値が異なる。

テーマ

テンプレートタグ

条件分岐タグ

  • is_tag() -- 現在のページがタグアーカイブページのとき true を返す。パラメータにスラッグを指定可能 [3]

参照: 条件分岐タグとは?/en

タグページのテンプレートファイル

タグアーカイブページ生成時に、次のリスト[6] の上から順にテーマファイル内のファイル名をチェックし、最初に見つかったテンプレートファイルに従ってタグアーカイブを生成(Template Hierarchy/en)。

  1. tag-tagslug.php -- 特定のタグ用にテンプレートを設けたいとき。tagslug はタグのスラッグ。[7]
  2. tag.php -- タグアーカイブページ用テンプレート
  3. archive.php -- 各種アーカイブ共通
  4. index.php

3, 4 のテンプレートの一部分だけ変えるなら、条件分岐タグも使える。コーディング例参照。

タグクラウドの表示

コーディング例

データベース

新規 Terms テーブルterm_relationshipsterm_taxonomyterms の 3テーブル)により、投稿カテゴリ・リンクカテゴリ・タグを一元化。従来の categorieslink2catpost2cat テーブルは削除。wp-testers discussion 参照。

注意事項

日本語タグ名を使えるか?

  • 記事投稿画面からの入力: OK
  • DB への格納: OK
    terms テーブルに格納される値: 
    • name: 日本語タグ名
    • slug: name を URL エンコード+スペースのハイフン変換等(投稿スラッグと同じ)を行なった文字列
  • ウェブ上の表示: OK
  • タグアーカイブページの URL: OK。slug 使用(日本語タグ名の URL エンコード後文字列)
  • slug をアルファベット等に書き換えても正常動作するか?: NG
    • 日本語タグのスラッグを書き換えた後、記事にその日本語タグを付けると、別の新規タグとして登録されてしまう。
    • (原因) 記事へのタグ付け・タグプラグインからのインポートの際、既存タグか新規タグかの判断に、入力したタグ名を上述 slug 変換したものと DB の slug とを突合せている。
    • (影響 1)slug を書き換えていると、タグ付け時に既存タグデータと不一致となり、新規タグとして登録される。タグアーカイブも別となり、既存タグのページに新規タグの記事は表れない。
    • (影響 2)本来、term はカテゴリと共用するが、日本語カテゴリに自分で英名等のスラッグを付けていると、タグインポート時に不一致となり、別 term が作られてしまう。サイト表示上はカテゴリとタグはたいてい別に扱われるため、表面上は問題ないように見える。

問題が生じるプラグイン

MT Style Post Name [8]
naokiさんより、slug に term_id が入ることにより、同じ日本語タグ名が複数できてしまうとの情報あり。

従来のタグプラグインを使えるか?

  • コアのタグ機能を使わないときは、タグ欄に入力しない
  • 従来のプラグインの使用可否は、互換性リスト参照

未確認事項

複数タグ

  • 訪問者がタグアーカイブを表示する際に複数タグを選択するインタフェースを作れるか?

関連プラグイン

以下の分類をまたがるプラグインもあるので、そのプラグインの主要機能で分けてあります。

タグ付け・管理・総合

Advanced Tag Entry
記事投稿画面に「Advanced Tag Entry」セクションを用意、次のことができる。
  • 既存タグをドロップダウンメニューから選択して、記事に追加
  • 記事に選択済みタグの削除
  • 新規タグ追加、既存タグの編集(タグ名、スラッグ)
  • 使わないタグの DB からの削除
  • わーどぷれすっ! » Advanced Tag Entry
Simple Tags
タグ付け、タグ表示、タグクラウド、タグ管理、ほか

タグ付け専用

Click Tags
記事投稿画面に既存タグを一覧表示し、クリックするとタグ入力欄に入る。タグ数が少ないサイトに。
Tag Suggest Thing
記事投稿画面のサイドバーに「Tag Suggestions」セクションを追加。Yahoo! term extraction API を利用して推薦タグを表示、クリックすると記事に追加。
Embedded Tag Thing
投稿本文中にタグを埋め込める。UTW と同様の機能。
  • [tag]タグ[/tag]: タグ付け+囲ったテキストからタグアーカイブページへリンク
  • [tags]タグ, タグ2[/tags]: タグ付け
Recommended Tags for WordPress
記事投稿画面に既存タグを一覧表示し、クリックするとタグ入力欄に入る。本文を元にした推奨タグ表示も可能。日本語タグのときの挙動は不明。
tags4page
「ページ」にもタグ付け。付けたタグをブログ上で表示するには、ページテンプレートに the_tags() が必要。
Inline Tag Thing
記事編集画面を開くことなく、サイトを表示しているページ上で、記事にタグ付け・タグ除去ができる。タグ付け欄は、編集権限がある場合にのみ表示される。アーカイブのように 1ページに多数の記事が表示したまま連続してタグ付けできるので、過去記事にも一からタグ付けする人には特に便利かと。
Ultimate Tag Warrior の「The inline tag-adder」に相当する機能で、タグの除去も可能になった。
Selectable Tag List for WP 2.3
記事投稿画面のタグ入力欄でタグ名の出だしを入力すると、既存タグから候補を表示し、選択できる。Plugin Homepage のスクリーンショット参照。

タグ管理専用

Tag Managing Thing
タグ管理画面を追加、タグ(およびカテゴリその他プラグイン等の投稿ベースの分類法)の編集が可能。
  • Term 名・スラッグの変更・削除
  • 既存 term の分割、結合
  • term が属する分類(taxonomy)の変更(タグ⇔カテゴリ変換等も可能)

タグ表示

サイト内リンク・テキスト

New Tag Cloud
WP2.3 のタグを用いて、ウィジェットでタグクラウドを表示
Configurable Tag Cloud Widget
WP2.3 のタグを用いて、ウィジェットでタグクラウドを設定・表示
UTW Theme Compatibility Thing
WP2.3 のタグを、Ultimate Tag Warrior の「UTW テンプレートタグ」を用いてサイトに表示。UTW 並みの表示バリエーションが可能
SensitiveTagCloud
現在のページ内容に応じたタグのみのタグクラウドを表示(ウィジェット用)
PlainTags
リンクなしのプレーンテキストでタグを表示。例えば <meta> などに。
WPtags 4 MetaKeywords
WP2.3 のタグを <meta name="keywords"> として <head> 内に挿入

サイト外へリンク

Technorati Tags for WordPress 2.3
WP2.3 のタグを用いて、テクノラティ・タグ(へのリンク)を表示?
Custom Tag List
WP2.3 のタグを用いて、タグのリンク先を別の URI にしたタグリストを記事に表示できる。例えばテクノラティへのリンクにする等。
Technorati Tag Cloud for WordPress 2.3
WP2.3 のタグを用いて、テクノラティのタグクラウドを表示
Technorati Tag Cloud Widget for WordPress 2.3
WP2.3 のタグを用いて、テクノラティのタグクラウドを表示(ウィジェット用)

関連記事表示

WP 2.3 Related Posts
WP2.3 のタグを用いて関連記事を表示、フィードにも追加。

その他

HeadSpace2
各ページのメタ情報をカスタマイズできる既存プラグイン。WP 2.3 のタグ機能に対応っぽい?WP 2.3 コアのタグ付け機能について、具体的に何ができるのかは未確認。

他のタグ関連プラグイン情報

参考資料

  1. キーワードのようなもの。
  2. hiromasa.another :o) » WordPress 2.3 の新機能 (ひろまささん)
  3. 3.0 3.1 3.2 3.3 3.4 insomniaque » WP 2.3 のタグ周り (bleuさん) -- たくさんの情報をありがとうございます。スクリーンショットあり。
  4. わーどぷれすっ! » WordPress 2.3 のタグ機能の管理画面は… (taiさん)
  5. wp-includes/general-template.php 286行目(RC1)
  6. wp-includes/theme.php 354行目(RC1)
  7. Template Hierarchy - Tag page
  8. 「タイトルから英数字、ダッシュ、アンダーバーのみ抜き取ってスラッグに。日本語しか使われてないエントリはPost_IDを使う。」プラグイン。詳しくは :: plasticdreams :: » ポストスラッグ要らない っていう人向けのプラグイン を参照