WordPress

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

WordPressでサイトを運営する上で避けては通れないのがパーマリンクの設定。

それぞれ好みの設定をしていると思いますが共通するのがデフォルトでURLに表示されるカテゴリの前にある「category/」です。

今回は、そんな不要な「category/」をプラグインを使わずに削除する方法をご紹介します。

URLから不要な/categoryを簡単に消す方法

まずは、この記事のURLを例に何をするかご説明したいと思います。
この記事もデフォルトでは、「ドメイン」とカテゴリである「web」の間に「category/」がついてくるのでこれを無くす方法になります。

https://moooii.com/category/web/wp/customize/674/

https://moooii.com/web/wp/customize/674/

 

削除する方法は、「.htaccessファイル」や「プラグイン」を使う方法もありますが誰でも簡単に管理しやすいfunction.phpに以下のコードを追加しよう。 

※追加する前に必ず「function.php」のbackupをとってから作業に入ってくださいね。

// パーマリンクカテゴリ削除
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;
}

 

これだけで不要な「category/」を削除することができるんです。

SNSで記事のシェアなどしてもらう時も文字数制限があるのでURLは、短いに越したことはないですよね。

CONNECT