WordPress – タグページを非表示に設定する
WordPressではタグ機能がありますが、この機能を全く使わない人にとっては邪魔な機能です。そこでこの機能を非表示にする方法をご紹介したいと思います。タグページの非表示設定は次のようにまとめました。
- 管理画面の投稿からタグ一覧ページを非表示&リダイレクト設定
- 管理画面の投稿ページからタグ追加機能を削除
- タグアーカイブページのリダイレクト設定
管理画面の投稿からタグページを非表示に設定する
では投稿からタグを非表示にする方法について解説していきます。タグを非表示に設定する場合はfunctions.php
から制御することが可能です。
functions.php
を開きたら下記のコードを使うことでタグページを非表示に設定することができます。
function remove_menus(){
// 投稿 タグメニュー非表示
remove_submenu_page('edit.php', 'edit-tags.php?taxonomy=post_tag');
}
add_action('admin_menu', 'remove_menus');
タグ一覧ページのリダイレクト設定
あくまでも上記だけの設定だと非表示なのでURLから.../wp-admin/edit-tags.php?taxonomy=post_tag
とアクセスするとタグページにアクセスできてしまいます。また.../wp-admin/edit-tags.php
からもタグ追加/一覧にアクセスできてしまします。
このタグ一覧ページにもURLからでアクセスできないようリダイレクト設定を行います。下記のコードもfunctions.php
に追加してください。
add_action('admin_init', function(){
$path = isset($_SERVER['HTTPS']) ? 'https://' : 'http://' .$_SERVER['HTTP_HOST'] . $_SERVER['REQUEST_URI'];
if(
$path == admin_url('edit-tags.php') ||
$path == admin_url('edit-tags.php?taxonomy=post_tag')
){
wp_redirect(sanitize_url(admin_url('edit-tags.php?taxonomy=category')));
exit();
}
});
上記のコードを追加することで管理画面上のタグ一覧ページにアクセスしてもカテゴリー一覧へリダイレクトされるようになります。
管理画面の投稿ページからタグ追加機能を削除
まだ、投稿画面では画像のようにタグの追加ができる状態なのでこちらの機能も削除します。こちらもfunctions.php
から修正を加えます。
下記のコードを埋め込むことで投稿画面でのタグ追加機能が削除されるようになります。
add_action('init', 'admin_post_format');
function admin_post_format(){
unregister_taxonomy_for_object_type('post_tag', 'post');
}
タグアーカイブページのリダイレクト設定
上記の設定を終えてもタグアーカイブページは残ている状態です。.../tag/sample/
とリクエストするとそのタグアーカイブページが表示されるのでこちらもリダイレクト設定をして404で返すように設定をします。下記のコードをfunctions.php
に埋め込むことでリダイレクトされるようになります。
function redirect_url(){
if(is_tag()){
global $wp_query;
$wp_query->set_404();
status_header( 404 );
}
}
add_action('template_redirect', 'redirect_url');
もしタグアーカイブ以外の投稿者アーカイブや年月日アーカイブもリダイレクト設定したいのであれば下記のコードでリダイレクトされるようになります。
function redirect_url(){
if(is_search() || is_author() || is_date() || is_day() || is_tag()){
global $wp_query;
$wp_query->set_404();
status_header( 404 );
}
}
add_action('template_redirect', 'redirect_url');