Warning: fopen(/home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-content/uploads/mw-wp-form_uploads/.htaccess): failed to open stream: Disk quota exceeded in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-content/plugins/mw-wp-form/classes/models/class.directory.php on line 249
カスタムタクソノミーページのURLをカスタマイズする方法 | SPIQA NOTE
Warning: ftp_nlist() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 438

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_nlist() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 438

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 764

Warning: ftp_nlist() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 438

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_mkdir() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 580

Warning: ftp_nlist() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 438

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: ftp_pwd() expects parameter 1 to be resource, null given in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 230

Warning: fopen(/tmp/8a4d695a39d72472_tracking_hash-CTfYO2.tmp): failed to open stream: Disk quota exceeded in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 190

Warning: unlink(/tmp/8a4d695a39d72472_tracking_hash-CTfYO2.tmp): No such file or directory in /home/stgspiqa/spiqa.design/public_html/note.spiqa.design/wordpress/wp-admin/includes/class-wp-filesystem-ftpext.php on line 193

カスタムタクソノミーページのURLをカスタマイズする方法

WEBサイトを運用していると記事が増えてきて、どこに何の記事があるのかわからない..となってしまう可能性があります。
そんなときに便利なのがカテゴリーやタグです!

今回は、WEBサイトで多用するカテゴリーのうち、カスタムタクソノミーの一覧ページのURL変更方法をご紹介します。

カスタムタクソノミーとは何か? については、こちらの記事で紹介しています

カスタム投稿とカスタムタクソノミーのデフォルトURL

例えば、blogというカスタム投稿を作成し、blog_catというカスタムタクソノミーを作成した場合URLは以下のようになります。

URL
投稿一覧ページ/blog/
カスタムタクソノミーの投稿一覧ページ/blog_cat/ターム名/

ブログにカテゴリーを作成したのに、URLに/blog/がなく、/blog_cat/があるのは何か違和感がある..ということもあるかと思います。

カスタムタクソノミー投稿一覧ページのURLを/blog/ターム名/に変更したいと思います。

カスタムタクソノミー投稿一覧ページのURL変更方法

カスタム投稿とカスタムタクソノミーの追加

カスタム投稿はプラグインで作成することも多いのですが、今回はfunctions.phpに記述して追加していきます。

function add_post_type() {
  // ブログを追加する
  register_post_type('blog',
    array(
      'label'=>'ブログ',
      'labels'=>array(
        'name'=>'ブログ',
        'singular_name'=>'ブログ',
        'add_new_item'=>'投稿を追加',
        'new_item'=>'投稿',
        'view_item'=>'投稿を表示',
        'not_found'=>'投稿は見つかりませんでした',
        'not_found_in_trash'=>'ゴミ箱に投稿はありません。',
        'search_items'=>'投稿を検索'
      ),
      'description'=>'ブログ',
      'public'=>true,
      'show_ui'=>true,
      'query_var'=>true,
      'rewrite'=>array(
        'with_front'=>false,
        'hierarchical'=>false
      ),
      'hierarchical'=>false,
      'exclude_from_search'=>false,
      'supports'=>array(
        'title', //タイトルを有効化
        'editor', //本文を有効化
        'thumbnail' //アイキャッチを有効化
      ),
      'has_archive'=>true,
    )
  );
  // ブログカスタムタクソノミー、カテゴリタイプ
  register_taxonomy(
    'blog_cat', //タクソノミーのスラッグ
    'blog', //追加するカスタム投稿のスラッグ
      array(
        'hierarchical'=>true,
        'update_count_callback'=>'_update_post_term_count',
        'label'=>'カテゴリー',
        'singular_label'=>'カテゴリー',
        'public'=>true,
        'show_ui'=>true,
        'rewrite' => array( 'slug' => 'blog' ), //変更後のスラッグ
      )
  );
}
add_action('init', 'add_post_type');

ハイライトしている45行目の記述がスラッグ変更のための記述です。

 add_rewrite_ruleの追加

さらにルールの記述を行なっていきます。

function add_custom_rewrite_rules() {
    add_rewrite_rule('blog/([^0-9]+)/?$', 'index.php?blog_cat=$matches[1]&taxonomy=blog_cat', 'top');
    add_rewrite_rule('blog/([^0-9]+)/page/([^/]+)/?$', 'index.php?blog_cat=$matches[1]&taxonomy=blog_cat&paged=$matches[2]', 'top');
  }
add_action('init', 'add_custom_rewrite_rules');

難しそうなコードが並んでいて心が折れそうですが..。
ご自身のケースにあわせて/blog/部分と/blog_cat/部分を書き換えていただければそのまま使用できます!

【重要】パーマリンク設定の再保存

上記のfunctions.phpをサーバーにアップしてサイトを確認しても、パーマリンクは変更前のままです。

WordPress管理画面のパーマリンク設定部分を変更せずにそのまま「変更を保存」を押してください。

この工程を忘れると、変更が確認できずに、コードの記述を何度も変更してみたり..ということになってしまいますので、絶対に忘れないようにしてください!

まとめ

普段はデフォルトのURLをそのまま使用してしまうことも多いですが、カスタマイズしてみるもの良いですね!

こちらの記事もおすすめ

この記事をシェアする

関連記事

  • 2023.12.30

    案件を切り替える拡張機能「Project Manager」が便利!

    コーディング

  • 2023.12.29

    記事タイトルを行数で制御するCSS

    CSS

    コーディング

  • 2023.12.29

    CSSのホバーを工夫するようになった話

    コーディング

    制作

おすすめ記事

  • 2022.04.22

    【動画編集ソフト】アフターエフェクトとプレミアプロってなにが違うの?違いと使い分けを解説!

    制作

    動画

  • 2022.04.12

    Chromeで画像やテキストがぼやけるときの対処法

    コーディング

    制作

  • 2022.04.22

    【第1回】Photoshopでテキストの一部の色を変える方法!<初心者向け>

    デザイン

    制作

×