回答編集履歴
4
追記(Custom Post Type Permalinksの設定)
answer
CHANGED
@@ -54,27 +54,14 @@
|
|
54
54
|
register_taxonomy( 'topics_kind', 'topics', (array) $args );
|
55
55
|
```
|
56
56
|
|
57
|
-
(カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。)
|
57
|
+
~~(カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。)~~
|
58
58
|
|
59
|
-
## (
|
59
|
+
### 追記(Custom Post Type Permalinksの設定)
|
60
|
+
`Custom Post Type Permalinks` を有効にします。
|
60
|
-
|
61
|
+
`設定` -> `パーマリンク設定` を開いて、
|
61
|
-
カスタム
|
62
|
+
「カスタマイズされたカスタムタクソノミーのパーマリンクを使用する。」にチェックを入れて保存します。
|
62
63
|
|
63
|
-
`
|
64
|
+
`/topics`: archive-topics.php
|
64
|
-
```PHP
|
65
|
-
|
65
|
+
`/topics/seo`: taxonomy-topics_kind-seo.php
|
66
|
-
|
66
|
+
|
67
|
-
`register_taxonomy( ... )` は削除(コメントアウト)します。
|
68
|
-
その下に
|
69
|
-
```PHP
|
70
|
-
function add_post_category_archive( $wp_query ) {
|
71
|
-
if ($wp_query->is_main_query() && $wp_query->is_category()) {
|
72
|
-
$wp_query->set( 'post_type', array('post','topics'));
|
73
|
-
}
|
74
|
-
}
|
75
|
-
add_action( 'pre_get_posts', 'add_post_category_archive' , 10 , 1);
|
76
|
-
```
|
77
|
-
を追加します。
|
78
|
-
この状態で `category-seo.php` というファイルを追加すれば、
|
79
|
-
`http://○○○.com/category/seo/`
|
80
|
-
|
67
|
+
上記のURLが右側のテンプレートで表示できると思います。
|
3
一部訂正しました。register_taxonomy( 'topics_kind', 'topics', (array) $args );
answer
CHANGED
@@ -41,7 +41,7 @@
|
|
41
41
|
$args->show_admin_column = true;
|
42
42
|
$args->rewrite['slug'] = 'topics';
|
43
43
|
$args->rewrite['with_front'] = false;
|
44
|
-
register_taxonomy( 'topics_kind', '
|
44
|
+
register_taxonomy( 'topics_kind', 'topics', (array) $args );
|
45
45
|
}
|
46
46
|
add_action( 'init', 'rewrite_topics_category', 11 );
|
47
47
|
```
|
@@ -49,6 +49,11 @@
|
|
49
49
|
`http://○○○.com/topics/seo/`
|
50
50
|
このURLで表示できると思います。
|
51
51
|
|
52
|
+
### 一部訂正
|
53
|
+
```PHP
|
54
|
+
register_taxonomy( 'topics_kind', 'topics', (array) $args );
|
55
|
+
```
|
56
|
+
|
52
57
|
(カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。)
|
53
58
|
|
54
59
|
## (参考)カスタム投稿のカテゴリを投稿のカテゴリと共通にする方法
|
2
カスタムタクソノミーのスラッグをカスタム投稿タイプのスラッグと合わせる
answer
CHANGED
@@ -27,11 +27,34 @@
|
|
27
27
|
`http://○○○.com/topics_kind/seo/`
|
28
28
|
を開くと今回のseoの記事が表示できると思います。
|
29
29
|
|
30
|
-
カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。
|
30
|
+
(カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。)
|
31
31
|
|
32
|
-
## カスタム
|
32
|
+
## カスタムタクソノミーのスラッグをカスタム投稿タイプのスラッグと合わせる
|
33
|
-
|
33
|
+
今回の問題はここのような気がしました。
|
34
|
+
[SEO的観点からカスタムタクソノミー(カスタム分類)のスラッグをカスタム投稿タイプと同じにする](https://100webdesign.jp/services/wordpress/wp_result/wp_result-221/)
|
35
|
+
[Taxonomy rewrite same as custom post type slug](https://wordpress.org/support/topic/taxonomy-rewrite-same-as-custom-post-type-slug/)
|
34
36
|
|
37
|
+
この辺りの記事を参考に `functions.php` に次のコードを追加します。
|
38
|
+
```PHP
|
39
|
+
function rewrite_topics_category() {
|
40
|
+
$args = get_taxonomy( 'topics_kind' );
|
41
|
+
$args->show_admin_column = true;
|
42
|
+
$args->rewrite['slug'] = 'topics';
|
43
|
+
$args->rewrite['with_front'] = false;
|
44
|
+
register_taxonomy( 'topics_kind', 'product', (array) $args );
|
45
|
+
}
|
46
|
+
add_action( 'init', 'rewrite_topics_category', 11 );
|
47
|
+
```
|
48
|
+
これで
|
49
|
+
`http://○○○.com/topics/seo/`
|
50
|
+
このURLで表示できると思います。
|
51
|
+
|
52
|
+
(カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。)
|
53
|
+
|
54
|
+
## (参考)カスタム投稿のカテゴリを投稿のカテゴリと共通にする方法
|
55
|
+
これまでとは別の方法です。
|
56
|
+
カスタム投稿記事すべてのカテゴリを付け直す必要がありますのでご注意ください。
|
57
|
+
|
35
58
|
`functions.php` のカスタム投稿タイプの定義に下記を追加。
|
36
59
|
```PHP
|
37
60
|
'taxonomies' => array('category'),
|
1
カスタム投稿のカテゴリを投稿のカテゴリと共通にする方法を追加。
answer
CHANGED
@@ -27,4 +27,26 @@
|
|
27
27
|
`http://○○○.com/topics_kind/seo/`
|
28
28
|
を開くと今回のseoの記事が表示できると思います。
|
29
29
|
|
30
|
-
カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。
|
30
|
+
カスタマイズしていて表示されなくなった場合(ページが見つからない...)は、一旦、パーマリンクを他に変えて元に戻してみてください。
|
31
|
+
|
32
|
+
## カスタム投稿のカテゴリを投稿のカテゴリと共通にする方法
|
33
|
+
カスタム投稿記事すべてのカテゴリを付け直すことになりますのでご注意。
|
34
|
+
|
35
|
+
`functions.php` のカスタム投稿タイプの定義に下記を追加。
|
36
|
+
```PHP
|
37
|
+
'taxonomies' => array('category'),
|
38
|
+
```
|
39
|
+
`register_taxonomy( ... )` は削除(コメントアウト)します。
|
40
|
+
その下に
|
41
|
+
```PHP
|
42
|
+
function add_post_category_archive( $wp_query ) {
|
43
|
+
if ($wp_query->is_main_query() && $wp_query->is_category()) {
|
44
|
+
$wp_query->set( 'post_type', array('post','topics'));
|
45
|
+
}
|
46
|
+
}
|
47
|
+
add_action( 'pre_get_posts', 'add_post_category_archive' , 10 , 1);
|
48
|
+
```
|
49
|
+
を追加します。
|
50
|
+
この状態で `category-seo.php` というファイルを追加すれば、
|
51
|
+
`http://○○○.com/category/seo/`
|
52
|
+
というURLでseoの一覧が表示できると思います。
|