WordPressの管理畫面でタグが付いていない記事だけを一覧表示する方法って無いの?

クエリを上書きするフィルタをfunctions.phpに記述すれば無理矢理実現可能だ。

ブログに記事を書くときは、目當ての記事を探しやすいように「カテゴリー」や「タグ」で分類しておきたいが、細か過ぎたり大雑把すぎたりしない丁度いい分類をするのはなかなか難しく、あとでまとめて整理しようと思ってタグ無しのまま公開してしまうことも多い。
だが、多數の既存記事の中からタグの付いていない記事を探して分類していく作業は非常に大変だ。特定のタグが付けられた記事を探すのは簡単だが、タグが一つも付けられていない記事を検索する機能は用意されていないことが多い。
定番ブログエンジンの「WordPress」も、標準ではタグ無しの記事一覧表示機能は用意されていないが、「functions.php」に數行のスクリプトを記述すれば作成できるので、ぜひ試してみよう。

function query_untagged_posts($query){
	if(is_admin()&&$query->is_main_query()&&$_GET['untagged']==1){
		$a=array();
		foreach(get_tags() as $t){
			$a[]=$t->term_id;
		}
		$query->set('tag__not_in',$a);
	}
	return($query);
}
add_filter('pre_get_posts','query_untagged_posts');

function untagged_menu(){
	global $submenu;
	$submenu['edit.php'][30]=array('タグ無し','edit_posts','edit.php?untagged=1');
}
function untagged_init(){
	add_action('admin_menu','untagged_menu');
}
add_action('init', 'untagged_init');

タグ無し記事を素早く探したければ、テーマディレクトリにある「functions.php」に上記のスクリプトを記述しよう。
最初の関數では、記事を列挙するクエリを上書きして、URLのパラメータに「untagged=1」がある場合にタグ無し記事のみを列挙するための條件を追加している。
タグ無しという検索條件は存在しないが、指定のタグが付けられていない記事を検索する「tag__not_in」條件に全てのタグのIDを列挙することで実現しているぞ。
次の2つの関數では、管理畫面の「投稿」メニューに「タグ無し」の項目を追加して素早くアクセス出來るようにしている。


001

このように、管理畫面上でタグが付いていない記事を一覧表示することが出來た。
キーワードによる記事検索なども、結果ページのURLに「&untagged=1」を追加すれば、タグ無しの記事のみを絞り込み表示できるぞ。


002

タグを付けるだけなら、各項目の「クイック編集」を使うといいだろう。一覧上でタイトルやタグなどの編集を行えるぞ。

2016年06月01日 12時56分
©教えて君.net All Rights Reserved.
成年片黄网站色大全免费