サポート » 使い方全般 » タクソノミースラッグをURLから削除したい

  • kaoo

    (@kaoo)


    カスタム投稿タイプにタクソノミーを複数設定し、
    それぞれのタクソノミーアーカイブページで、タクソノミースラッグをURLから削除したいです。

    例)
    カスタム投稿「店舗検索」
    投稿タイプスラッグ = 「tenpo」
    タクソノミースラッグ① = 「todofuken」
    ターム① = 「北海道、青森、、、、」
    タクソノミースラッグ② = 「eki」
    ターム② = 「山手線、京浜東北線、、、」

    「todofuken」と「eki」をURLから削除したいです。

    希望のURL
    ドメイン/tenpo/東京都/千代田区/
    ドメイン/tenpo/山手線/東京駅/

    現状のURL
    ドメイン/tenpo/todofuken/東京都/千代田区/
    ドメイン/tenpo/eki/山手線/東京駅/

    記事詳細ページではタクソノミースラッグは削除されていますが、タクソノミーアーカイブページでスラッグが削除されていません。
    Custom Post Type UIプラグインとCustom Post Type Permalinksプラグインを使用し、カスタム投稿タイプを作成しました。

    下記をfunctions.phpに追記すると「todofuken」スラッグは削除できたのですが、「eki」スラッグの削除が削除できずに困っています。
    教えていただけますと助かります。よろしくお願いいたします。

    
    function my_custom_post_type_permalinks_set($termlink, $term, $taxonomy){
        return str_replace('/'.$taxonomy.'/', '/', $termlink);
    }
    add_filter('term_link', 'my_custom_post_type_permalinks_set',11,3);
    //リダイレクトルール追加
    function my_custom_post_type_permalinks_rule(){
      add_rewrite_rule('tenpo/([^/]+)/([^/]+)/page/([0-9]+)/?$', 'index.php?todofuken=$matches[1]/$matches[2]&paged=$matches[3]', 'top');
      add_rewrite_rule('tenpo/([^/]+)/page/([0-9]+)/?$', 'index.php?todofuken=$matches[1]&paged=$matches[2]', 'top');
      add_rewrite_rule('tenpo/([^/]+)/([^/]+)/([0-9]+)/?$', 'index.php?post_type=tenpo&p=$matches[3]', 'top');
      add_rewrite_rule('tenpo/([^/]+)/([0-9]+)/?$', 'index.php?post_type=tenpo&p=$matches[2]', 'top');
      add_rewrite_rule('tenpo/([^/]+)/([^/]+)/?$', 'index.php?todofuken=$matches[1]/$matches[2]', 'top');
      add_rewrite_rule('tenpo/([^/]+)/?$', 'index.php?todofuken=$matches[1]', 'top');
    
    }
    add_action('init', 'my_custom_post_type_permalinks_rule');
    
  • トピック「タクソノミースラッグをURLから削除したい」には新たに返信することはできません。