WordPressの階層categoryを消す方法

WordPressのカテゴリー /category 階層。
パーマリンクの設定をするとデフォルトで表示されてしまうようです。

ウェブマスターツールのHTML改善をチェックしていたら「タイトルのタグが重複」が出ていたので、とくに不要でしたし削除してみました。

/category/codeing/wordpress
   
/codeing/wordpress

functions.php に以下のコードを追加。

//パーマリンクカテゴリ削除
add_filter('user_trailingslashit', 'remcat_function');
function remcat_function($link) {
    return str_replace("/category/", "/", $link);
}
add_action('init', 'remcat_flush_rules');
function remcat_flush_rules() {
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}
add_filter('generate_rewrite_rules', 'remcat_rewrite');
function remcat_rewrite($wp_rewrite) {
    $new_rules = array('(.+)/page/(.+)/?' => 'index.php?category_name='.$wp_rewrite->preg_index(1).'&paged='.$wp_rewrite->preg_index(2));
    $wp_rewrite->rules = $new_rules + $wp_rewrite->rules;
}

コードを追加するだけで簡単に消せました!!

こちらのサイトを参考にさせていただきました。

【WordPress】パーマリンクから「category/」を簡単に削除する方法

2016.11.16 追記
category階層を削除するとウィジェットの「タグクラウド」を利用する場合は、ページングにエラーが発生するかもしれません。以下ご参考ください。

あわせて読みたい
WordPressページネーションが「/page/2」以降404エラーになる WordPressのページング機能 paginationの「/page/2」以降が404エラーになる不具合がありました。 パーマリンクの設定が「基本」だと大丈夫なのですが、それ以外にすると...
  • URLをコピーしました!
目次