質問編集履歴
7
6/18追記分解決のため
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
コードの編集
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(
|
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' =>
|
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' ),
|
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
目標の変更
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の追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -5,15 +5,15 @@
|
|
5
5
|
カスタム投稿タイプ
|
6
6
|
projects
|
7
7
|
|
8
|
-
カスタム
|
8
|
+
カスタムタクソノミーA
|
9
9
|
projects_cat
|
10
10
|
|
11
|
-
カスタム
|
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
内容編集のため
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' ),
|
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
不要な文の削除のため
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
追記にて
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
|
+
```
|