WordPressなどのブログエンジンでは、「カテゴリー」や「タグ」などで記事を分類できる。読者が記事を探しやすくするのが基本的な用途だが、管理画面にもタグによる絞り込み機能は用意されているので、サイト管理の円滑化にも役立つだろう。
しかし、宣伝用に書いた記事に管理用として「宣伝」のタグを付けたりするのは、読者の目に触れてしまうと格好悪いので気が進まない。読者に公開するページ上には表示されないようにしたいところだ。
プラグインで追加の分類方式を作成して非公開で使うという手もあるが、管理画面が煩雑になるのが難点だ。テーマファイルを編集して、タグ一覧の表示時に管理用のタグを除外するようにするといいだろう。該当箇所を見つけて書き換えるのは大変だが、「functions.php」にフィルター処理を書き加えれば、全体のタグ表示処理を一括して改造できるぞ。
姉妹サイトの宣伝記事を管理画面上で探しやすくするために「PR」タグを付けてみたが、読者にも見られてしまうのは格好悪い……
function remove_admin_tags($tags,$tax=null,$args=null){
if(!is_admin()){
foreach($tags as $idx=>$tag){
if($tag->name=='PR' || $tag->name=='test'){
unset($tags[$idx]);
}
}
}
return($tags);
}
add_filter('get_terms','remove_admin_tags',10,3);
add_filter('get_the_terms','remove_admin_tags',10,3);
特定のタグやカテゴリを非表示にしたければ、テーマディレクトリの「functions.php」ファイルを編集し、上記のようなスクリプトを追加してアップロードしよう。
「if($tag->name=='PR' || $tag->name=='test')」の部分が非表示にしたいタグ・カテゴリ名の条件になっているぞ。
なお、WordPress内部ではタグやカテゴリ、その他の追加の分類方式は全て共通の方法で処理されているので、この例ではタグもカテゴリも一括してフィルタリングされる。
「get_terms」フィルタがサイト上の全分類、「get_the_terms」が特定の記事に付けられた分類のリストに対するフィルタとなっている。
テーマやプラグインによっては、これらのフィルタの対象にならない方法でタグなどを列挙している可能性もあるので、絶対に公開されてはならないタグを隠すときなどは、あらかじめ当たり障りの無いタグでテストするようにしよう。
このように、記事に付けられたタグの一覧や、サイトで使われている全タグの一覧(タグクラウド)から、指定した名前のタグを非表示に出来たぞ。
全世界1,000万以上ダウンロード超え!水分補給サポートアプリ最新作『Plant Nanny 2 - 植物ナニー2』が11/1より日本先行配信開始中
たこ焼きの洞窟にかき氷の山!散歩を習慣化する惑星探索ゲーム『Walkr』がアップデート配信&6/28までアイテムセール開始!
【まとめ】仮想通貨ビットコインで国内・海外問わず自由に決済や買い物ができる販売サイトを立ち上げる
WordPress編集画面の「よく使われているタグ」が45件だと少ない。もっと増やせないの?
WordPressの管理画面でタグが付いていない記事だけを一覧表示する方法って無いの?
WordPressで本文中のiframeなどのタグが消えちゃって困る
WordPressの固定ページを「.html」付きのURLにすることってできないの?
WordPressでタグを付けるときに表記ミスで変なタグを作ってしまわないようにしたい
WordPressが本文中の引用符などを勝手に全角にしてしまうので困る
