質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

Q&A

0回答

1588閲覧

カスタム投稿に設定したカテゴリーがパーマリンクに反映されない

pokota

総合スコア12

WordPress

WordPressは、PHPで開発されているオープンソースのブログソフトウェアです。データベース管理システムにはMySQLを用いています。フリーのブログソフトウェアの中では最も人気が高く、PHPとHTMLを使って簡単にテンプレートをカスタマイズすることができます。

0グッド

0クリップ

投稿2019/04/09 02:32

前提・実現したいこと

wordpressでカスタム投稿ページにカテゴリを設定し、設定したカテゴリをパーマリンクに反映したいです。
通常の投稿ページではカテゴリを設定した時に、パーマリンクにカテゴリが反映されますが、その動きと同じ動きにしたいです。

カスタム投稿ページのカテゴリにseason-1を設定した際、下記のパーマリンクを表示したいです。
【表示したいパーマリンク】
http://localhost/novel/season-1/(記事タイトル)
【現在のパーマリンク】
http://localhost/novel/(記事タイトル)

発生している問題・エラーメッセージ

該当のソースコード

functions.phpに下記でカスタム投稿ページを追加しています。
設定に不備があるのでしょうか。

add_action( 'init', 'register_cpt_novel' ); function register_cpt_novel() { $labels = array( 'name' => _x( 'NOVEL', 'novel' ), 'singular_name' => _x( '小説', 'novel' ), 'add_new' => _x( '新規追加', 'novel' ), 'add_new_item' => _x( '新しい話を追加', 'novel' ), 'edit_item' => _x( 'プロフィールを編集', 'novel' ), 'new_item' => _x( '新しい話', 'novel' ), 'view_item' => _x( '小説プロフィールを見る', 'novel' ), 'search_items' => _x( '小説検索', 'novel' ), 'not_found' => _x( '小説が見つかりません', 'novel' ), 'not_found_in_trash' => _x( 'ゴミ箱にプロフィールはありません', 'novel' ), 'parent_item_colon' => _x( '親小説:', 'novel' ), 'menu_name' => _x( '小説', 'novel' ) ); $args = array( 'labels' => $labels, 'hierarchical' => true, 'description' => '小説詳細説明とか', 'supports' => array( 'title', 'editor', 'excerpt', 'thumbnail', 'custom-fields' ), 'public' => true, 'show_ui' => true, 'show_in_menu' => true, 'show_in_nav_menus' => true, 'publicly_queryable' => true, 'exclude_from_search' => false, 'has_archive' => true, 'query_var' => true, 'can_export' => true, 'rewrite' => true, 'capability_type' => 'post' ); //カテゴリタイプの設定(カスタムタクソノミーの設定) register_taxonomy( 'novel', //カテゴリー名(任意) 'novel', //カスタム投稿名 array( 'hierarchical' => true, //カテゴリータイプの指定 'update_count_callback' => '_update_post_term_count', //ダッシュボードに表示させる名前 'label' => 'カテゴリー', 'public' => true, 'show_ui' => true ) ); //タグタイプの設定(カスタムタクソノミーの設定) register_taxonomy( 'novel_tag', //タグ名(任意) 'novel', //カスタム投稿名 array( 'hierarchical' => false, //タグタイプの指定(階層をもたない) 'update_count_callback' => '_update_post_term_count', //ダッシュボードに表示させる名前 'label' => 'タグ', 'public' => true, 'show_ui' => true ) ); register_post_type( 'novel', $args ); } // サムネイル画像を利用 add_theme_support( 'post-thumbnails', array( 'novel' ) ); set_post_thumbnail_size( 150, 150, true ); // アイコンを追加 function add_menu_icons_styles_novel(){ echo '<style> #adminmenu #menu-posts-novel div.wp-menu-image:before { content: "\f307"; } </style>'; } add_action( 'admin_head', 'add_menu_icons_styles_novel' );

試したこと

また、functions.phpに下記のコードを記入しています。
関係があるかどうかわからないのですが、念のため記載しておきます。

//urlからcategoryを削除する 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; } //固定ページにカテゴリ追加 add_action('init','add_categories_for_pages'); function add_categories_for_pages(){ register_taxonomy_for_object_type('category', 'page'); } add_action( 'pre_get_posts', 'nobita_merge_page_categories_at_category_archive' ); function nobita_merge_page_categories_at_category_archive( $query ) { if ( $query->is_category== true && $query->is_main_query() ) { $query->set('post_type', array( 'post', 'page', 'nav_menu_item')); } }

ちなみにワードプレスのパーマリンク設定は下記にしております。
http://localhost/%category%

みなさまどうぞよろしくお願い致します。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問