【WordPress】カテゴリーページのURLから/category/を消す3つの方法
WordPressでパーマリンクの設定を【/%category%/%postname%.html】とした場合、記事のURLは【/category/カテゴリー名/記事名.html】となってしまいます。   このURLの【/category/】は余分なので、これを消す方法です。   【/category/】を消す方法としては、次の3つの方法があります。
    • パーマリンクの設定を変更してURLから【category】を消す方法
    • プラグインを使ってURLから【category】を消す方法
    • function.phpにコードを追加してURLから【category】を消す方法

パーマリンクの設定を変更して【category】を消す方法

この方法が一番簡単です。カスタマイズもプラグインの導入も必要ありません。   管理画面の「設定」→「パーマリンク設定」で共通設定を下記の【カスタム構造】にします。 【/%category%/%postname%.html】   そして下の【カテゴリーベース】に【.】を入力して、設定を保存します。  

プラグインを使って【category】を消す方法

次はプラグインを使う方法です。   プラグイン「WP No Category Base」をインストールして有効化します。   特に設定は必要ありません。有効化するだけでOKです。   注意点としては、カテゴリースラッグが日本語の場合、404になる可能性がありますので、カテゴリースラッグは必ず英数字で設定してください。  

function.phpにコードを追加して【category】を消す方法

3番目の方法はfunction.phpにコードを追加する方法です。   以下のコードをfunctions.phpに追記してください。
function rem_cat_function($link) { return str_replace("/category/", "/", $link); } add_filter('user_trailingslashit', 'rem_cat_function'); function rem_cat_flush_rules() { global $wp_rewrite; $wp_rewrite->flush_rules(); } add_action('init', 'rem_cat_flush_rules'); function rem_cat_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; } add_filter('generate_rewrite_rules', 'rem_cat_rewrite');
おすすめの記事