回答編集履歴

4

追記(Custom Post Type Permalinksの設定)

2020/12/03 06:45

投稿

退会済みユーザー
test CHANGED
@@ -110,50 +110,24 @@
110
110
 
111
111
 
112
112
 
113
- (カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。)
113
+ ~~(カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。)~~
114
114
 
115
115
 
116
116
 
117
- ## (参考カスタム投稿のカテゴリを投稿のカテゴリと共通にする方法
117
+ ### 追記Custom Post Type Permalinksの設定
118
118
 
119
- これでとは別の方法です。
119
+ `Custom Post Type Permalinks` を有効にします。
120
120
 
121
+ `設定` -> `パーマリンク設定` を開いて、
122
+
121
- カスタム投稿記事すべてカテゴリを付け直必要がありますのでご注意ください
123
+ カスタマイズされたカスタタクソノミーパーマンク使用る。」にチェックを入れて保存します。
122
124
 
123
125
 
124
126
 
125
- `functions.php` のカスタム投稿タイプの定義に下記を追加。
127
+ `/topics`: archive-topics.php
126
128
 
127
- ```PHP
129
+ `/topics/seo`: taxonomy-topics_kind-seo.php
128
130
 
129
- 'taxonomies' => array('category'),
130
131
 
131
- ```
132
132
 
133
- `register_taxonomy( ... )` は削除(コメントアウト)します。
134
-
135
- その下に
136
-
137
- ```PHP
138
-
139
- function add_post_category_archive( $wp_query ) {
140
-
141
- if ($wp_query->is_main_query() && $wp_query->is_category()) {
142
-
143
- $wp_query->set( 'post_type', array('post','topics'));
144
-
145
- }
146
-
147
- }
148
-
149
- add_action( 'pre_get_posts', 'add_post_category_archive' , 10 , 1);
150
-
151
- ```
152
-
153
- を追加します。
154
-
155
- この状態で `category-seo.php` というファイルを追加すれば、
156
-
157
- `http://○○○.com/category/seo/`
158
-
159
- というURLでseoの一覧が表示できると思います。
133
+ 上記のURLが右側のテンプレートで表示できると思います。

3

一部訂正しました。register_taxonomy( 'topics_kind', 'topics', (array) $args );

2020/12/03 06:45

投稿

退会済みユーザー
test CHANGED
@@ -84,7 +84,7 @@
84
84
 
85
85
  $args->rewrite['with_front'] = false;
86
86
 
87
- register_taxonomy( 'topics_kind', 'product', (array) $args );
87
+ register_taxonomy( 'topics_kind', 'topics', (array) $args );
88
88
 
89
89
  }
90
90
 
@@ -97,6 +97,16 @@
97
97
  `http://○○○.com/topics/seo/`
98
98
 
99
99
  このURLで表示できると思います。
100
+
101
+
102
+
103
+ ### 一部訂正
104
+
105
+ ```PHP
106
+
107
+ register_taxonomy( 'topics_kind', 'topics', (array) $args );
108
+
109
+ ```
100
110
 
101
111
 
102
112
 

2

カスタムタクソノミーのスラッグをカスタム投稿タイプのスラッグと合わせる

2020/11/29 11:46

投稿

退会済みユーザー
test CHANGED
@@ -56,13 +56,59 @@
56
56
 
57
57
 
58
58
 
59
- カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。
59
+ カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。
60
60
 
61
61
 
62
62
 
63
- ## カスタム投稿のカテゴリを投稿のカテゴリ共通にす方法
63
+ ## カスタムタクソノミースラッグをスタム投稿タイプスラッグ合わせ
64
64
 
65
+ 今回の問題はここのような気がしました。
66
+
67
+ [SEO的観点からカスタムタクソノミー(カスタム分類)のスラッグをカスタム投稿タイプと同じにする](https://100webdesign.jp/services/wordpress/wp_result/wp_result-221/)
68
+
69
+ [Taxonomy rewrite same as custom post type slug](https://wordpress.org/support/topic/taxonomy-rewrite-same-as-custom-post-type-slug/)
70
+
71
+
72
+
73
+ この辺りの記事を参考に `functions.php` に次のコードを追加します。
74
+
75
+ ```PHP
76
+
77
+ function rewrite_topics_category() {
78
+
79
+ $args = get_taxonomy( 'topics_kind' );
80
+
81
+ $args->show_admin_column = true;
82
+
83
+ $args->rewrite['slug'] = 'topics';
84
+
85
+ $args->rewrite['with_front'] = false;
86
+
87
+ register_taxonomy( 'topics_kind', 'product', (array) $args );
88
+
89
+ }
90
+
91
+ add_action( 'init', 'rewrite_topics_category', 11 );
92
+
93
+ ```
94
+
95
+ これで
96
+
97
+ `http://○○○.com/topics/seo/`
98
+
99
+ このURLで表示できると思います。
100
+
101
+
102
+
103
+ (カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。)
104
+
105
+
106
+
107
+ ## (参考)カスタム投稿のカテゴリを投稿のカテゴリと共通にする方法
108
+
109
+ これまでとは別の方法です。
110
+
65
- カスタム投稿記事すべてのカテゴリを付け直すことになりますのでご注意。
111
+ カスタム投稿記事すべてのカテゴリを付け直す必要がありますのでご注意ください
66
112
 
67
113
 
68
114
 

1

カスタム投稿のカテゴリを投稿のカテゴリと共通にする方法を追加。

2020/11/28 14:53

投稿

退会済みユーザー
test CHANGED
@@ -57,3 +57,47 @@
57
57
 
58
58
 
59
59
  カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。
60
+
61
+
62
+
63
+ ## カスタム投稿のカテゴリを投稿のカテゴリと共通にする方法
64
+
65
+ カスタム投稿記事すべてのカテゴリを付け直すことになりますのでご注意。
66
+
67
+
68
+
69
+ `functions.php` のカスタム投稿タイプの定義に下記を追加。
70
+
71
+ ```PHP
72
+
73
+ 'taxonomies' => array('category'),
74
+
75
+ ```
76
+
77
+ `register_taxonomy( ... )` は削除(コメントアウト)します。
78
+
79
+ その下に
80
+
81
+ ```PHP
82
+
83
+ function add_post_category_archive( $wp_query ) {
84
+
85
+ if ($wp_query->is_main_query() && $wp_query->is_category()) {
86
+
87
+ $wp_query->set( 'post_type', array('post','topics'));
88
+
89
+ }
90
+
91
+ }
92
+
93
+ add_action( 'pre_get_posts', 'add_post_category_archive' , 10 , 1);
94
+
95
+ ```
96
+
97
+ を追加します。
98
+
99
+ この状態で `category-seo.php` というファイルを追加すれば、
100
+
101
+ `http://○○○.com/category/seo/`
102
+
103
+ というURLでseoの一覧が表示できると思います。