teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

4

追記(Custom Post Type Permalinksの設定)

2020/12/03 06:45

投稿

退会済みユーザー
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
- `functions.php` のカスタム投稿タイプの定義に下記を追加。
64
+ `/topics`: archive-topics.php
64
- ```PHP
65
- 'taxonomies' => array('category'),
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
- というURLでseo一覧が表示できると思います。
67
+ 上記URL右側のテンプレートで表示できると思います。

3

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

2020/12/03 06:45

投稿

退会済みユーザー
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', 'product', (array) $args );
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

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

2020/11/29 11:46

投稿

退会済みユーザー
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

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

2020/11/28 14:53

投稿

退会済みユーザー
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の一覧が表示できると思います。