---
title: "純粋なコードで WordPress の URL から Category カテゴリのプレフィックスを削除する - 憂いを忘れる一枚"
description: "WordPress をいじっている皆さんならご存じのとおり、/category/ の削除機能が組み込まれていないテーマでは、パーマリンクを変更するたびに、カテゴリリンクに /category/ ディレクトリが表示されます。カテゴリリンクから /category/ ディレクトリを削除したい場合は、プラグインを使用できます"
canonical_url: "https://www.ikxin.com/ja/article/wordpress-remove-category"
last_updated: "2026-09-16T09:59:27.259Z"
locale: ja
meta:
  "og:description": "WordPress をいじっている皆さんならご存じのとおり、/category/ の削除機能が組み込まれていないテーマでは、パーマリンクを変更するたびに、カテゴリリンクに /category/ ディレクトリが表示されます。カテゴリリンクから /category/ ディレクトリを削除したい場合は、プラグインを使用できます"
  "og:image": "https://www.ikxin.com/_og/d/h_630%2Ca_~57SU57KL44Gq44Kz44O844OJ44GnIFdvcmRQcmVzcyDjga4gVVJMIOOBi-OCiSBDYXRlZ29yeSDjgqvjg4bjgrTjg6rjga7jg5fjg6zjg5XjgqPjg4Pjgq~jgrnjgpLliYrpmaTjgZnjgosgLSDmhoLjgYTjgpLlv5jjgozjgovkuIDmnpo%2Cc_Article%2Ctitle_~57SU57KL44Gq44Kz44O844OJ44GnIFdvcmRQcmVzcyDjga4gVVJMIOOBi-OCiSBDYXRlZ29yeSDjgqvjg4bjgrTjg6rjga7jg5fjg6zjg5XjgqPjg4Pjgq~jgrnjgpLliYrpmaTjgZnjgos%2Cdescription_~V29yZFByZXNzIOOCkuOBhOOBmOOBo-OBpuOBhOOCi-eahuOBleOCk-OBquOCieOBlOWtmOOBmOOBruOBqOOBiuOCiuOAgS9jYXRlZ29yeS8g44Gu5YmK6Zmk5qmf6IO944GM57WE44G~6L6844G-44KM44Gm44GE44Gq44GE44OG44O844Oe44Gn44Gv44CB44OR44O844Oe44Oq44Oz44Kv44KS5aSJ5pu044GZ44KL44Gf44Gz44Gr44CB44Kr44OG44K044Oq44Oq44Oz44Kv44GrIC9jYXRlZ29yeS8g44OH44Kj44Os44Kv44OI44Oq44GM6KGo56S644GV44KM44G-44GZ44CC44Kr44OG44K044Oq44Oq44Oz44Kv44GL44KJIC9jYXRlZ29yeS8g44OH44Kj44Os44Kv44OI44Oq44KS5YmK6Zmk44GX44Gf44GE5aC05ZCI44Gv44CB44OX44Op44Kw44Kk44Oz44KS5L2~55So44Gn44GN44G-44GZ%2CsiteName_~5oaC44GE44KS5b-Y44KM44KL5LiA5p6a%2CsiteHost_www.ikxin.com%2Cp_Ii9qYS9hcnRpY2xlL3dvcmRwcmVzcy1yZW1vdmUtY2F0ZWdvcnki%2Cs_lrKdwXOeXfyE6Qeh.png"
  "og:image:alt": "純粋なコードで WordPress の URL から Category カテゴリのプレフィックスを削除する - 憂いを忘れる一枚"
  "og:image:height": "630"
  "og:image:type": image/png
  "og:image:width": "1200"
  "og:title": "純粋なコードで WordPress の URL から Category カテゴリのプレフィックスを削除する"
  "twitter:image": "https://www.ikxin.com/_og/d/h_630%2Ca_~57SU57KL44Gq44Kz44O844OJ44GnIFdvcmRQcmVzcyDjga4gVVJMIOOBi-OCiSBDYXRlZ29yeSDjgqvjg4bjgrTjg6rjga7jg5fjg6zjg5XjgqPjg4Pjgq~jgrnjgpLliYrpmaTjgZnjgosgLSDmhoLjgYTjgpLlv5jjgozjgovkuIDmnpo%2Cc_Article%2Ctitle_~57SU57KL44Gq44Kz44O844OJ44GnIFdvcmRQcmVzcyDjga4gVVJMIOOBi-OCiSBDYXRlZ29yeSDjgqvjg4bjgrTjg6rjga7jg5fjg6zjg5XjgqPjg4Pjgq~jgrnjgpLliYrpmaTjgZnjgos%2Cdescription_~V29yZFByZXNzIOOCkuOBhOOBmOOBo-OBpuOBhOOCi-eahuOBleOCk-OBquOCieOBlOWtmOOBmOOBruOBqOOBiuOCiuOAgS9jYXRlZ29yeS8g44Gu5YmK6Zmk5qmf6IO944GM57WE44G~6L6844G-44KM44Gm44GE44Gq44GE44OG44O844Oe44Gn44Gv44CB44OR44O844Oe44Oq44Oz44Kv44KS5aSJ5pu044GZ44KL44Gf44Gz44Gr44CB44Kr44OG44K044Oq44Oq44Oz44Kv44GrIC9jYXRlZ29yeS8g44OH44Kj44Os44Kv44OI44Oq44GM6KGo56S644GV44KM44G-44GZ44CC44Kr44OG44K044Oq44Oq44Oz44Kv44GL44KJIC9jYXRlZ29yeS8g44OH44Kj44Os44Kv44OI44Oq44KS5YmK6Zmk44GX44Gf44GE5aC05ZCI44Gv44CB44OX44Op44Kw44Kk44Oz44KS5L2~55So44Gn44GN44G-44GZ%2CsiteName_~5oaC44GE44KS5b-Y44KM44KL5LiA5p6a%2CsiteHost_www.ikxin.com%2Cp_Ii9qYS9hcnRpY2xlL3dvcmRwcmVzcy1yZW1vdmUtY2F0ZWdvcnki%2Cs_lrKdwXOeXfyE6Qeh.png"
  "twitter:image:alt": "純粋なコードで WordPress の URL から Category カテゴリのプレフィックスを削除する - 憂いを忘れる一枚"
---

> Index of every page on this site: [llms.txt](https://www.ikxin.com/llms.txt)

# **純粋なコードで WordPress の URL から Category カテゴリのプレフィックスを削除する**

2017.07.15 3,508  0

WordPress をいじっている皆さんならご存じのとおり、`/category/` の削除機能が組み込まれていないテーマでは、パーマリンクを変更するたびに、カテゴリリンクに `/category/` ディレクトリが表示されます。カテゴリリンクから `/category/` ディレクトリを削除したい場合は、プラグインを使用できます。ネット上には直接削除できるプラグインも数多くあります（実際、多くのテーマにはこの機能がすでに組み込まれています）。しかし、今回は `/category/` を削除する純粋なコード版をご紹介します。プラグインを使いたくない方におすすめです。

## PHP コード

 PHP

```
// 去除分类 category 的代码
add_action('load-themes.php', 'no_category_base_refresh_rules');
add_action('created_category', 'no_category_base_refresh_rules');
add_action('edited_category', 'no_category_base_refresh_rules');
add_action('delete_category', 'no_category_base_refresh_rules');
function no_category_base_refresh_rules() {
    global $wp_rewrite;
    $wp_rewrite->flush_rules();
}
add_action('init', 'no_category_base_permastruct');
function no_category_base_permastruct() {
    global $wp_rewrite, $wp_version;
    if (version_compare($wp_version, '3.4', '<')) {
        $wp_rewrite->extra_permastructs['category'][0] = '%category%';
    } else {
        $wp_rewrite->extra_permastructs['category']['struct'] = '%category%';
    }
}
add_filter('category_rewrite_rules', 'no_category_base_rewrite_rules');
function no_category_base_rewrite_rules($category_rewrite) {
    $category_rewrite = array();
    $categories = get_categories(array('hide_empty' => false));
    foreach ($categories as $category) {
        $category_nicename = $category->slug;
        if ($category->parent == $category->cat_ID)
            $category->parent = 0;
        elseif ($category->parent != 0)
            $category_nicename = get_category_parents($category->parent, false, '/', true) . $category_nicename;
        $category_rewrite['(' . $category_nicename . ')/(?:feed/)?(feed|rdf|rss|rss2|atom)/?$'] = 'index.php?category_name=$matches[1]&feed=$matches[2]';
        $category_rewrite['(' . $category_nicename . ')/page/?([0-9]{1,})/?$'] = 'index.php?category_name=$matches[1]&paged=$matches[2]';
        $category_rewrite['(' . $category_nicename . ')/?$'] = 'index.php?category_name=$matches[1]';
    }
    global $wp_rewrite;
    $old_category_base = get_option('category_base') ? get_option('category_base') : 'category';
    $old_category_base = trim($old_category_base, '/');
    $category_rewrite[$old_category_base . '/(.*)$'] = 'index.php?category_redirect=$matches[1]';
    return $category_rewrite;
}
add_filter('query_vars', 'no_category_base_query_vars');
function no_category_base_query_vars($public_query_vars) {
    $public_query_vars[] = 'category_redirect';
    return $public_query_vars;
}
add_filter('request', 'no_category_base_request');
function no_category_base_request($query_vars) {
    if (isset($query_vars['category_redirect'])) {
        $catlink = trailingslashit(get_option('home')) . user_trailingslashit($query_vars['category_redirect'], 'category');
        status_header(301);
        header("Location: $catlink");
        exit();
    }
    return $query_vars;
}
```

上記のコードを、現在使用しているテーマの `functions.php` ファイルに追加し、最後の `?>` の直前に置いてください。

プラグインをインストールする場合でもコードを使用する場合でも、404 ページエラーが発生する可能性があります。つまり、`%post_id%.html`（当サイトで設定しているパーマリンク）のリライトが無効になることがあります。この場合は、パーマリンク設定を一度保存し直すだけで解決できます。

## **コメント**

(0)

まだコメントはありません

## **コメントを投稿**

```json
{"@context":"https://schema.org","@graph":[{"@id":"https://www.ikxin.com/ja#website","@type":"WebSite","description":"「憂いを忘れる一枚」は、技術探究と日々の暮らしをテーマにした個人サイトです。Web 開発、バックエンド、DevOps の実践を記録し、ソフトウェアツールやデジタル体験、コードの外で得た見聞と思索を共有します。","inLanguage":"ja-JP","name":"憂いを忘れる一枚","url":"https://www.ikxin.com/ja","translationOfWork":{"@id":"https://www.ikxin.com/#website"}},{"@id":"https://www.ikxin.com/ja/article/wordpress-remove-category#webpage","@type":"WebPage","description":"WordPress をいじっている皆さんならご存じのとおり、/category/ の削除機能が組み込まれていないテーマでは、パーマリンクを変更するたびに、カテゴリリンクに /category/ ディレクトリが表示されます。カテゴリリンクから /category/ ディレクトリを削除したい場合は、プラグインを使用できます","name":"純粋なコードで WordPress の URL から Category カテゴリのプレフィックスを削除する","url":"https://www.ikxin.com/ja/article/wordpress-remove-category","isPartOf":{"@id":"https://www.ikxin.com/ja#website"},"potentialAction":[{"@type":"ReadAction","target":["https://www.ikxin.com/ja/article/wordpress-remove-category"]}]}]}
```

## Sitemap

See the full [sitemap](https://www.ikxin.com/sitemap.md) for all pages.
