質問編集履歴

7

6/18追記分解決のため

2022/06/19 07:20

投稿

monchan58
monchan58

スコア10

test CHANGED
File without changes
test CHANGED
@@ -142,7 +142,8 @@
142
142
  }
143
143
  ```
144
144
  ---
145
- 6/18追記
145
+ ~~6/18追記~~→解決しました
146
+
146
147
  上記色々触っていましたが、なかなか解決できず、表示されないパターンが見つかりました。
147
148
  参考にさせていただいたものがこちらの2点になります。
148
149
  https://100webdesign.jp/services/wordpress/wp_result/wp_result-221/
@@ -159,4 +160,9 @@
159
160
 
160
161
  一旦、カスタムタクソノミーBの方はパーマリンクをprojects_tagとして表示させ、干渉しないようにしています。
161
162
 
162
-
163
+ ※こちらは
164
+ 記事詳細ページの完成形のパーマリンクの設定を
165
+ /projects/カスタムタクソノミーAのターム名/記事タイトル
166
+ から
167
+ /projects/カスタムタクソノミーAのターム名/記事id
168
+ に変更することで解決いたしました。

6

コードの編集

2022/06/17 22:14

投稿

monchan58
monchan58

スコア10

test CHANGED
File without changes
test CHANGED
@@ -36,8 +36,7 @@
36
36
 
37
37
  **カスタム投稿タイプとカスタムタクソノミーの追加**
38
38
  ```php
39
- // カスタム投稿タイプ
40
- function cpt_register_projects() {
39
+ function cpt_register_projects() { //add_actionの2つのパラメーターを定義
41
40
  $labels = [
42
41
  "singular_name" => "projects",
43
42
  "edit_item" => "projects",
@@ -57,6 +56,7 @@
57
56
  "hierarchical" => true,
58
57
  "query_var" => true,
59
58
  "rewrite" => [ "with_front" => false ],
59
+ // 'rewrite' => true,
60
60
  "menu_position" => 5,
61
61
  "supports" => [ "title", "editor", "thumbnail" ],
62
62
  ];
@@ -72,7 +72,11 @@
72
72
  'show_ui' => true,
73
73
  'show_in_rest' => true,
74
74
  'meta_box_cb' => 'post_categories_meta_box',
75
- //'rewrite' => array( 'slug' => 'projects' ), ここはコメントアウトしました。(6/13)
75
+ // 'rewrite' => array('slug' => 'projects','with_front' => true,'hierarchical' => true ),
76
+ 'rewrite' => array( 'hierarchical' => true ),
77
+ 'query_var' => true,
78
+ 'has_archive' => true,
79
+ 'show_admin_column'=> true,
76
80
  )
77
81
  );
78
82
 
@@ -83,11 +87,15 @@
83
87
  'label' => '設計実績タグ',
84
88
  'update_count_callback' => '_update_post_term_count',
85
89
  'show_ui' => true,
86
- 'hierarchical' => true,
90
+ 'hierarchical' => false,
87
91
  'public' => true,
88
92
  'show_in_rest' => true,
89
93
  'meta_box_cb' => 'post_categories_meta_box',
90
- // 'rewrite' => array( 'slug' => 'projects' ), ここはコメントアウトしました。(6/13)
94
+ // 'rewrite' => array( 'slug' => 'projects','with_front' => true,'hierarchical' => true ),
95
+ 'rewrite' =>true,
96
+ 'query_var' => true,
97
+ 'has_archive' => true,
98
+ 'show_admin_column'=> true,
91
99
  )
92
100
  );
93
101
 

5

目標の変更

2022/06/17 22:11

投稿

monchan58
monchan58

スコア10

test CHANGED
File without changes
test CHANGED
@@ -17,7 +17,7 @@
17
17
  /projects/ターム名/
18
18
 
19
19
  記事詳細ページの完成形のURLとして
20
- /projects/ターム名/記事タイトル
20
+ /projects/カスムタクソノミAのターム名/記事タイトル
21
21
  を目指しています。
22
22
 
23
23
  ---

4

6/18の追記

2022/06/17 22:09

投稿

monchan58
monchan58

スコア10

test CHANGED
File without changes
test CHANGED
@@ -5,15 +5,15 @@
5
5
  カスタム投稿タイプ
6
6
  projects
7
7
 
8
- カスタム投稿イプA
8
+ カスタムタクソノミーA
9
9
  projects_cat
10
10
 
11
- カスタム投稿イプB
11
+ カスタムタクソノミーB
12
12
  projects_tag
13
13
 
14
14
  ---
15
15
  **目標**
16
- アーカイブページの完成形のURLとして
16
+ タームのアーカイブページの完成形のURLとして
17
17
  /projects/ターム名/
18
18
 
19
19
  記事詳細ページの完成形のURLとして
@@ -133,3 +133,22 @@
133
133
  add_rewrite_rule('projects/([^0-9]+)/page/([^/]+)/?$', 'index.php?projects_tag=$matches[1]&taxonomy=projects_tag&paged=$matches[2]', 'top');
134
134
  }
135
135
  ```
136
+ ---
137
+ 6/18追記
138
+ 上記色々触っていましたが、なかなか解決できず、表示されないパターンが見つかりました。
139
+ 参考にさせていただいたものがこちらの2点になります。
140
+ https://100webdesign.jp/services/wordpress/wp_result/wp_result-221/
141
+ https://libre-co.com/wordpress/custom_taxonomy_permalink/
142
+
143
+ 簡単に説明させていただきますと
144
+ カスタムタクソノミーのスラッグをprojects_catからprojectsに書き換えをする方法、
145
+ /projects/projects_cat/ターム名と表示させるようにし、functions.phpにてprojects_catを消す方法です。
146
+
147
+ パターンとして、カスタムタクソノミーAの記事一覧が表示されると、記事詳細ページが表示できない。
148
+ 記事詳細ページが表示されると、カスタムタクソノミーの記事一覧が表示されない。
149
+ 状況です。
150
+
151
+
152
+ 一旦、カスタムタクソノミーBの方はパーマリンクをprojects_tagとして表示させ、干渉しないようにしています。
153
+
154
+

3

内容編集のため

2022/06/12 17:05

投稿

monchan58
monchan58

スコア10

test CHANGED
File without changes
test CHANGED
@@ -2,9 +2,35 @@
2
2
  1つはカテゴリーのように、もう1つはタグのように使用をしています。
3
3
  どちらのカスタムタクソノミーにおいてもアーカイブページを作成したいと思っているのですが、リライトの方法がわからずつまづいてしまいました。
4
4
 
5
+ カスタム投稿タイプ
6
+ projects
7
+
8
+ カスタム投稿タイプA
9
+ projects_cat
10
+
11
+ カスタム投稿タイプB
12
+ projects_tag
13
+
14
+ ---
15
+ **目標**
5
16
  アーカイブページの完成形のURLとして
6
17
  /projects/ターム名/
18
+
19
+ 記事詳細ページの完成形のURLとして
20
+ /projects/ターム名/記事タイトル
7
21
  を目指しています。
22
+
23
+ ---
24
+ 記事詳細ページに関しては
25
+ プラグインの
26
+ Custom Post Type Permalinks
27
+ を使用し、
28
+ /projects/%projects_cat%/%postname%/
29
+
30
+ カスタマイズされたカスタムタクソノミーのパーマリンクを使用する
31
+ にチェックを入れています。
32
+
33
+
8
34
 
9
35
  アドバイスをもらえると幸いです。よろしくお願いいたします。
10
36
 
@@ -46,7 +72,7 @@
46
72
  'show_ui' => true,
47
73
  'show_in_rest' => true,
48
74
  'meta_box_cb' => 'post_categories_meta_box',
49
- 'rewrite' => array( 'slug' => 'projects' ),
75
+ //'rewrite' => array( 'slug' => 'projects' ), ここはコメントアウトしました。(6/13)
50
76
  )
51
77
  );
52
78
 
@@ -61,7 +87,7 @@
61
87
  'public' => true,
62
88
  'show_in_rest' => true,
63
89
  'meta_box_cb' => 'post_categories_meta_box',
64
- 'rewrite' => array( 'slug' => 'projects' ), //ここでprojectsで被ってしまいます
90
+ // 'rewrite' => array( 'slug' => 'projects' ), ここはコメントアウトしました(6/13)
65
91
  )
66
92
  );
67
93
 
@@ -92,6 +118,11 @@
92
118
 
93
119
  **2022/6/13追記**
94
120
  ```php
121
+ function add_custom_rewrite_rules($termlink, $term, $taxonomy) {
122
+ return str_replace('/'.$taxonomy.'/', '/', $termlink);
123
+ }
124
+ add_filter('term_link', 'add_custom_rewrite_rules',11,3);
125
+
95
126
  $url = $_SERVER['REQUEST_URI'];
96
127
  if(strstr($url, 'ターム名1') || strstr($url,'ターム名2') || strstr($url,'ターム名3') ){
97
128
  add_rewrite_rule('projects/([^0-9]+)/?$', 'index.php?projects_cat=$matches[1]&taxonomy=projects_cat', 'top');

2

不要な文の削除のため

2022/06/12 16:33

投稿

monchan58
monchan58

スコア10

test CHANGED
File without changes
test CHANGED
@@ -93,7 +93,6 @@
93
93
  **2022/6/13追記**
94
94
  ```php
95
95
  $url = $_SERVER['REQUEST_URI'];
96
- $cat_array = ['office', 'welfare', 'others', 'childcare', 'public', 'commercial', 'products', 'hospital'];
97
96
  if(strstr($url, 'ターム名1') || strstr($url,'ターム名2') || strstr($url,'ターム名3') ){
98
97
  add_rewrite_rule('projects/([^0-9]+)/?$', 'index.php?projects_cat=$matches[1]&taxonomy=projects_cat', 'top');
99
98
  add_rewrite_rule('projects/([^0-9]+)/page/([^/]+)/?$', 'index.php?projects_cat=$matches[1]&taxonomy=projects_cat&paged=$matches[2]', 'top');

1

追記にて

2022/06/12 16:30

投稿

monchan58
monchan58

スコア10

test CHANGED
File without changes
test CHANGED
@@ -86,3 +86,20 @@
86
86
  また、コメントアウトしている下2行を記載すると、上書きされているのかタグアーカイブは表示されるが、カテゴリーのアーカイブが作成できなくなります。
87
87
 
88
88
  よろしくお願いいたします。
89
+
90
+
91
+
92
+
93
+ **2022/6/13追記**
94
+ ```php
95
+ $url = $_SERVER['REQUEST_URI'];
96
+ $cat_array = ['office', 'welfare', 'others', 'childcare', 'public', 'commercial', 'products', 'hospital'];
97
+ if(strstr($url, 'ターム名1') || strstr($url,'ターム名2') || strstr($url,'ターム名3') ){
98
+ add_rewrite_rule('projects/([^0-9]+)/?$', 'index.php?projects_cat=$matches[1]&taxonomy=projects_cat', 'top');
99
+ add_rewrite_rule('projects/([^0-9]+)/page/([^/]+)/?$', 'index.php?projects_cat=$matches[1]&taxonomy=projects_cat&paged=$matches[2]', 'top');
100
+ }
101
+ else{
102
+ add_rewrite_rule('projects/([^0-9]+)/?$', 'index.php?projects_tag=$matches[1]&taxonomy=projects_tag', 'top');
103
+ add_rewrite_rule('projects/([^0-9]+)/page/([^/]+)/?$', 'index.php?projects_tag=$matches[1]&taxonomy=projects_tag&paged=$matches[2]', 'top');
104
+ }
105
+ ```