回答編集履歴
4
追記(Custom Post Type Permalinksの設定)
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
|
-
`
|
127
|
+
`/topics`: archive-topics.php
|
126
128
|
|
127
|
-
``
|
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
|
-
|
133
|
+
上記のURLが右側のテンプレートで表示できると思います。
|
3
一部訂正しました。register_taxonomy( 'topics_kind', 'topics', (array) $args );
test
CHANGED
@@ -84,7 +84,7 @@
|
|
84
84
|
|
85
85
|
$args->rewrite['with_front'] = false;
|
86
86
|
|
87
|
-
register_taxonomy( 'topics_kind', 'p
|
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
カスタムタクソノミーのスラッグをカスタム投稿タイプのスラッグと合わせる
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
カスタム投稿のカテゴリを投稿のカテゴリと共通にする方法を追加。
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の一覧が表示できると思います。
|