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

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

「タグ付け機能」の版間の差分

提供: WordPress Codex 日本語版
移動先: 案内検索
(日本語タグのスラッグ書き換え NG?/プラグイン Simple Tags, PlainTags, Technorati Tags を追加。)
(日本語タグ問題、その他のタグ用テンプレートタグ、コーディング例、Inline Tag Thing ほか 3プラグイン追加)
12行目: 12行目:
 
; 記事にタグ<ref>キーワードのようなもの。</ref>を付けられる  
 
; 記事にタグ<ref>キーワードのようなもの。</ref>を付けられる  
 
: 記事投稿画面の本文編集欄の下に、タグ入力欄
 
: 記事投稿画面の本文編集欄の下に、タグ入力欄
 +
: [[#日本語タグ名を使えるか?|日本語タグ名についての注意事項]]
 
; タグ表示  
 
; タグ表示  
 
: 記事表示時に、付けたタグを一覧表示。タグ名をクリックするとタグアーカイブページを表示。
 
: 記事表示時に、付けたタグを一覧表示。タグ名をクリックするとタグアーカイブページを表示。
20行目: 21行目:
 
:* 対象プラグイン: Ultimate Tag Warrior, Simple Tagging Plugin, Jerome’s Keywords, Bunny’s Technorati Tags
 
:* 対象プラグイン: Ultimate Tag Warrior, Simple Tagging Plugin, Jerome’s Keywords, Bunny’s Technorati Tags
 
:* アップグレード前に不要なタグを整理しておくとよいかもしれません。インポートすると、記事・リンク用カテゴリID の後ろにマージされます。
 
:* アップグレード前に不要なタグを整理しておくとよいかもしれません。インポートすると、記事・リンク用カテゴリID の後ろにマージされます。
 +
:* Ultimate Tag Warrior インポート事例:
 +
:** [http://retujyou.com/2007/10/03/wordpress-23-upgrade/ Retujyou どうにもならない劣情の種子を植え付けられたばかりに &raquo; Wordpress 2.3 にアップグレード 新機能を見てみる] (rui_mashitaさん)
 +
:** [http://bono.s201.xrea.com/2007/10/535-wp23_import_from_utw/ power source* » WP2.3: Ultimate Tag Warrior データのインポート] -- 日本語カテゴリに別スラッグを付けていた場合、本来あるべき形にインポートされない。詳しくは [[#日本語タグ名を使えるか?|下記]] 参照。
 
; カテゴリ→タグ変換(オプション) :  
 
; カテゴリ→タグ変換(オプション) :  
 
:* 管理 > インポート 画面 <ref name="bleu"/>
 
:* 管理 > インポート 画面 <ref name="bleu"/>
52行目: 56行目:
 
* [[テンプレートタグ/wp_tag_cloud|<code>wp_tag_cloud()</code>]] -- タグクラウドを表示
 
* [[テンプレートタグ/wp_tag_cloud|<code>wp_tag_cloud()</code>]] -- タグクラウドを表示
 
* [[テンプレートタグ/single_tag_title|<code>single_tag_title()</code>]] -- 現在のページのタグ名を表示/取得。パラメータは、接頭辞、表示(true)/取得(false) <ref>wp-includes/general-template.php 286行目(RC1)</ref>
 
* [[テンプレートタグ/single_tag_title|<code>single_tag_title()</code>]] -- 現在のページのタグ名を表示/取得。パラメータは、接頭辞、表示(true)/取得(false) <ref>wp-includes/general-template.php 286行目(RC1)</ref>
 +
* [[テンプレートタグ#タグ用タグ|その他のタグ用テンプレートタグ]]
  
 
=== 条件分岐タグ ===
 
=== 条件分岐タグ ===
76行目: 81行目:
 
=== コーディング例 ===
 
=== コーディング例 ===
  
* デフォルトテーマの <code>archive.php</code> -- <code>is_tag()</code>、<code>single_cat_title()</code>、<code>the_tags()</code> を使用
+
* デフォルトテーマの <code>archive.php</code> -- <code>is_tag()</code>、<code>single_tag_title()</code>、<code>the_tags()</code> を使用
 +
* [http://everydays.hassii.com/archives/748 e.b.i.f » PB: Adding Tags / Tag Cloud (WP 2.3+)] -- <code>the_tags()</code>、<code>wp_tag_cloud()</code> を使用
 +
* [http://waviaei.com/2007/10/09/adding-wp23-template-tag-to-wpvicuna/ Waviaei &raquo; wp.vicuna に WP2.3 のタグ機能を追加] -- <code>single_tag_title()</code>、<code>the_tags()</code> を使用
  
 
== データベース ==
 
== データベース ==
82行目: 89行目:
 
新規 [[データベース概要/Terms テーブル|Terms テーブル]](''term_relationships''、''term_taxonomy''、''terms'' の 3テーブル)により、投稿カテゴリ・リンクカテゴリ・タグを一元化。[[データベース概要#テーブル一覧|従来の ''categories''、''link2cat''、''post2cat'' テーブル]]は削除。[http://comox.textdrive.com/pipermail/wp-testers/2007-August/004961.html wp-testers discussion] 参照。
 
新規 [[データベース概要/Terms テーブル|Terms テーブル]](''term_relationships''、''term_taxonomy''、''terms'' の 3テーブル)により、投稿カテゴリ・リンクカテゴリ・タグを一元化。[[データベース概要#テーブル一覧|従来の ''categories''、''link2cat''、''post2cat'' テーブル]]は削除。[http://comox.textdrive.com/pipermail/wp-testers/2007-August/004961.html wp-testers discussion] 参照。
  
== 未確認事項 ==
+
== 注意事項 ==
  
 
=== 日本語タグ名を使えるか? ===
 
=== 日本語タグ名を使えるか? ===
90行目: 97行目:
 
*; [[データベース概要/Terms テーブル#テーブル: wp_terms|terms テーブル]]に格納される値: :  
 
*; [[データベース概要/Terms テーブル#テーブル: wp_terms|terms テーブル]]に格納される値: :  
 
*:* name: 日本語タグ名
 
*:* name: 日本語タグ名
*:* slug: name を URL エンコードした文字列
+
*:* slug: name を URL エンコード+スペースのハイフン変換等(投稿スラッグと同じ)を行なった文字列
 
* ウェブ上の表示: OK
 
* ウェブ上の表示: OK
 
* タグアーカイブページの URL: OK。slug 使用(日本語タグ名の URL エンコード後文字列)
 
* タグアーカイブページの URL: OK。slug 使用(日本語タグ名の URL エンコード後文字列)
* slug をアルファベット等に書き換えても正常動作するか?: '''NG'''?<span class="attn">注</span><br />日本語タグのスラッグを書き換えた後、記事にその日本語タグを付けると、別の新規タグとして登録されてしまう模様。詳細確認中。
+
* <span class="attn">注</span> slug をアルファベット等に書き換えても正常動作するか?: '''NG'''
 +
** 日本語タグのスラッグを書き換えた後、記事にその日本語タグを付けると、別の新規タグとして登録されてしまう。
 +
** (原因) 記事へのタグ付け・タグプラグインからのインポートの際、既存タグか新規タグかの判断に、入力したタグ名を上述 slug 変換したものと DB の slug とを突合せている。
 +
** (影響 1)slug を書き換えていると、タグ付け時に既存タグデータと不一致となり、新規タグとして登録される。タグアーカイブも別となり、既存タグのページに新規タグの記事は表れない。
 +
** (影響 2)本来、term はカテゴリと共用するが、日本語カテゴリに自分で英名等のスラッグを付けていると、タグインポート時に不一致となり、別 term が作られてしまう。サイト表示上はカテゴリとタグはたいてい別に扱われるため、表面上は問題ないように見える。
  
影響がある(かもしれない)プラグイン:
+
=== 問題が生じるプラグイン ===
 
; MT Style Post Name <ref>「タイトルから英数字、ダッシュ、アンダーバーのみ抜き取ってスラッグに。日本語しか使われてないエントリはPost_IDを使う。」プラグイン。詳しくは [http://plasticdreams.org/archives/2007/02/01/1639/no-post-slug-please/ :: plasticdreams :: » ポストスラッグ要らない っていう人向けのプラグイン] を参照</ref>  
 
; MT Style Post Name <ref>「タイトルから英数字、ダッシュ、アンダーバーのみ抜き取ってスラッグに。日本語しか使われてないエントリはPost_IDを使う。」プラグイン。詳しくは [http://plasticdreams.org/archives/2007/02/01/1639/no-post-slug-please/ :: plasticdreams :: » ポストスラッグ要らない っていう人向けのプラグイン] を参照</ref>  
 
: [http://bono.s201.xrea.com/2007/09/522-wp23_tagging/#comment-35604 naokiさんより、slug に term_id が入ることにより、同じ日本語タグ名が複数できてしまうとの情報]あり。
 
: [http://bono.s201.xrea.com/2007/09/522-wp23_tagging/#comment-35604 naokiさんより、slug に term_id が入ることにより、同じ日本語タグ名が複数できてしまうとの情報]あり。
: タグ入力時に slug と突き合わせているのか?等、未確認
 
  
=== 複数タグ ===
+
=== 従来のタグプラグインを使えるか? ===
 
+
* 訪問者がタグアーカイブを表示する際に複数タグを選択するインタフェースを作れるか?
+
 
+
=== 従来のプラグインを使えるか? ===
+
  
 
* コアのタグ機能を使わないときは、タグ欄に入力しない
 
* コアのタグ機能を使わないときは、タグ欄に入力しない
 
* 従来のプラグインの使用可否は、[[:en:Plugins/Plugin Compatibility/2.3|互換性リスト]]参照
 
* 従来のプラグインの使用可否は、[[:en:Plugins/Plugin Compatibility/2.3|互換性リスト]]参照
 +
 +
== 未確認事項 ==
 +
 +
=== 複数タグ ===
 +
 +
* 訪問者がタグアーカイブを表示する際に複数タグを選択するインタフェースを作れるか?
  
 
== 関連プラグイン ==
 
== 関連プラグイン ==
122行目: 134行目:
 
: タグ付け、タグ表示、タグクラウド、タグ管理、ほか
 
: タグ付け、タグ表示、タグクラウド、タグ管理、ほか
 
:* [http://labo.teraguchi.net/archives/276 新・今日も今日とて &raquo; Simple Tags] (myonさん)
 
:* [http://labo.teraguchi.net/archives/276 新・今日も今日とて &raquo; Simple Tags] (myonさん)
 +
:* [http://www.telmina.com/2007/10/15/1030/ Telmina &raquo; 【WordPress】「Simple Tags」プラグインを試してみる] (Sa・Gaさん)
  
 
=== タグ付け専用 ===
 
=== タグ付け専用 ===
138行目: 151行目:
 
; [http://wordpress.org/extend/plugins/tags4page/ tags4page]  
 
; [http://wordpress.org/extend/plugins/tags4page/ tags4page]  
 
: [[:ja:Pages|「ページ」]]にもタグ付け。付けたタグをブログ上で表示するには、ページテンプレートに [[テンプレートタグ/the_tags|the_tags()]] が必要。
 
: [[:ja:Pages|「ページ」]]にもタグ付け。付けたタグをブログ上で表示するには、ページテンプレートに [[テンプレートタグ/the_tags|the_tags()]] が必要。
 +
; [http://wordpress.org/extend/plugins/inline-tag-thing/ Inline Tag Thing] <span class="attn">new</span>
 +
: 記事編集画面を開くことなく、サイトを表示しているページ上で、記事にタグ付け・タグ除去ができる。タグ付け欄は、編集権限がある場合にのみ表示される。アーカイブのように 1ページに多数の記事が表示したまま連続してタグ付けできるので、過去記事にも一からタグ付けする人には特に便利かと。
 +
: Ultimate Tag Warrior の「The inline tag-adder」に相当する機能で、タグの除去も可能になった。
 +
; [http://wordpress.org/extend/plugins/selectable-tag-list-for-wp-23/ Selectable Tag List for WP 2.3] <span class="attn">new</span>
 +
: 記事投稿画面のタグ入力欄でタグ名の出だしを入力すると、既存タグから候補を表示し、選択できる。Plugin Homepage のスクリーンショット参照。
  
 
=== タグ管理専用 ===
 
=== タグ管理専用 ===
156行目: 174行目:
 
: リンクなしのプレーンテキストでタグを表示。例えば <code><nowiki><meta></nowiki></code> などに。
 
: リンクなしのプレーンテキストでタグを表示。例えば <code><nowiki><meta></nowiki></code> などに。
 
; [http://gormful.com/projects/wp23-technorati-tags/ Technorati Tags for WordPress 2.3] <ref name="wtc104"/>  
 
; [http://gormful.com/projects/wp23-technorati-tags/ Technorati Tags for WordPress 2.3] <ref name="wtc104"/>  
: 2.3 のタグを用いて、テクノラティ・タグ(へのリンク)を表示?
+
: WP2.3 のタグを用いて、テクノラティ・タグ(へのリンク)を表示?
 +
; [http://wordpress.org/extend/plugins/custom-tag-list/ Custom Tag List] <span class="attn">new</span>
 +
: WP2.3 のタグを用いて、タグのリンク先を別の URI にしたタグリストを記事に表示できる。例えばテクノラティへのリンクにする等。
  
 
=== 関連記事表示 ===
 
=== 関連記事表示 ===

2007年10月18日 (木) 02:29時点における版

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/ (パーマリンク設定時)
パーマリンク設定画面に /tag 部分の設定項目あり。
boren.nu » Taxonomy Intersections and Unions -- 和訳希望。。
タグ別フィード
タグアーカイブページのフィード。フィードの種類によって '=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 からの削除
Simple Tags [9]
タグ付け、タグ表示、タグクラウド、タグ管理、ほか

タグ付け専用

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 new
記事編集画面を開くことなく、サイトを表示しているページ上で、記事にタグ付け・タグ除去ができる。タグ付け欄は、編集権限がある場合にのみ表示される。アーカイブのように 1ページに多数の記事が表示したまま連続してタグ付けできるので、過去記事にも一からタグ付けする人には特に便利かと。
Ultimate Tag Warrior の「The inline tag-adder」に相当する機能で、タグの除去も可能になった。
Selectable Tag List for WP 2.3 new
記事投稿画面のタグ入力欄でタグ名の出だしを入力すると、既存タグから候補を表示し、選択できる。Plugin Homepage のスクリーンショット参照。

タグ管理専用

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

タグ表示

New Tag Cloud
WP2.3 のタグを用いて、ウィジェットでタグクラウドを表示。
Configurable Tag Cloud Widget
WP2.3 のタグを用いて、ウィジェットでタグクラウドを設定・表示。
PlainTags [9]
リンクなしのプレーンテキストでタグを表示。例えば <meta> などに。
Technorati Tags for WordPress 2.3 [9]
WP2.3 のタグを用いて、テクノラティ・タグ(へのリンク)を表示?
Custom Tag List new
WP2.3 のタグを用いて、タグのリンク先を別の URI にしたタグリストを記事に表示できる。例えばテクノラティへのリンクにする等。

関連記事表示

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 :: » ポストスラッグ要らない っていう人向けのプラグイン を参照
  9. 9.0 9.1 9.2 via: Weblog Tools Collection » Blog Archive » WordPress Plugin Releases for 10/4

このページはラフドラフトで、まだ内容の検証が済んでいません。情報が間違っていたり書き直されることがあります。
執筆中のため、執筆者の許可なく編集しないでください