質問編集履歴
16
パン屑リスト
title
CHANGED
|
@@ -1,1 +1,1 @@
|
|
|
1
|
-
複数タグ(及び複数クエリー・パラメーター)で絞り込みした際のタグ・アーカイブ・ページのURLをパーマリンク(/tag/)に統一し、タイトル表示でもタグ複数の併記に変更したい。
|
|
1
|
+
複数タグ(及び複数クエリー・パラメーター)で絞り込みした際のタグ・アーカイブ・ページのURLをパーマリンク(/tag/)に統一し、タイトル表示(パン屑リスト含む)でもタグ複数の併記に変更したい。
|
body
CHANGED
|
File without changes
|
15
アクション・フック
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
return $title;
|
|
75
75
|
});
|
|
76
76
|
```
|
|
77
|
-
ただし、パン屑リストでの表示に問題は残る
|
|
77
|
+
ただし、パン屑リストでの表示に猶も問題は残る。現在、プラグイン[Breadcrumb NavXT](https://ja.wordpress.org/plugins/breadcrumb-navxt/#description)を使用(プラグインに用意された[アクション・フック](https://mtekk.us/code/breadcrumb-navxt/breadcrumb-navxt-doc/2/#action_reference)を利用する[改造法](https://accelboon.com/tn/breadcrumb-navxt-%e3%81%a7%e7%8b%ac%e8%87%aa%e3%81%ae%e9%a0%85%e7%9b%ae%e3%82%92%e8%bf%bd%e5%8a%a0%e3%81%99%e3%82%8b/)で、何とかできないか……?)。
|
|
78
78
|
|
|
79
79
|
### 試したこと
|
|
80
80
|
|
14
Breadcrumb NavXT
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -74,7 +74,7 @@
|
|
|
74
74
|
return $title;
|
|
75
75
|
});
|
|
76
76
|
```
|
|
77
|
-
ただし、パン屑リストでの表示に問題は残る。
|
|
77
|
+
ただし、パン屑リストでの表示に問題は残る(現在、プラグイン[Breadcrumb NavXT](https://mtekk.us/code/breadcrumb-navxt/)を使用)。
|
|
78
78
|
|
|
79
79
|
### 試したこと
|
|
80
80
|
|
13
パン屑リスト
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -74,6 +74,7 @@
|
|
|
74
74
|
return $title;
|
|
75
75
|
});
|
|
76
76
|
```
|
|
77
|
+
ただし、パン屑リストでの表示に問題は残る。
|
|
77
78
|
|
|
78
79
|
### 試したこと
|
|
79
80
|
|
12
パーマリンク/search/と組み合せた場合を追記
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -94,7 +94,7 @@
|
|
|
94
94
|
```PHP
|
|
95
95
|
wp_safe_redirect( home_url( '/tag/' ) . get_query_var( 'tag' ) );
|
|
96
96
|
```
|
|
97
|
-
とするのも試してみましたが、URLパラメーターが`?tag=タグ名A+タグ名B`だと`/tag/タグ名A+タグ名B`へのリダイレクトに成功するものの、タグだけでなくキイワード検索と組合わせた`?tag=タグ名A&s=キーワードB`では`/tag/タグ名A`へと遷移してしまってやはり「&」以下のクエリー`&s=キーワードB`が脱け落ちます。
|
|
97
|
+
とするのも試してみましたが、URLパラメーターが`?tag=タグ名A+タグ名B`だと`/tag/タグ名A+タグ名B`へのリダイレクトに成功するものの、タグだけでなくキイワード検索と組み合わせた`?tag=タグ名A&s=キーワードB`では`/tag/タグ名A`へと遷移してしまってやはり「&」以下のクエリー`&s=キーワードB`が脱け落ちます。同様に`http://example.com/wp/search/キーワードB?tag=タグ名A`でもリダイレクト先は`http://example.com/wp/tag/タグ名A`となってしまって`/search/キーワードB`が除去されるので、折角の複数パラメーターでのフィルタリング機能が空しくなります。
|
|
98
98
|
コード中の`wp_safe_redirect`を`wp_redirect`にしたりしても、駄目です。
|
|
99
99
|
|
|
100
100
|
複合条件での絞り込みでうまくゆかなくなるのは、「[Wordpress検索結果のURLを変えたい](https://teratail.com/questions/141475)」と類似です。そこでのコメントで質問者が「キーワードのみの検索」でなく「キーワード以外にパラメータを指定して検索をかける」と述べた箇所……。
|
11
翻訳関数__除去。「get_queried_objectがだめになるケース」を参照。
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -69,7 +69,7 @@
|
|
|
69
69
|
// アーカイブ・ページのタイトル(h1要素)変更
|
|
70
70
|
add_filter( 'get_the_archive_title', function ($title) {
|
|
71
71
|
if ( is_tag() ) {
|
|
72
|
-
$title = sprintf(
|
|
72
|
+
$title = sprintf( esc_html( 'タグ: %s' ), multiple_tags() );
|
|
73
73
|
}
|
|
74
74
|
return $title;
|
|
75
75
|
});
|
|
@@ -98,6 +98,7 @@
|
|
|
98
98
|
コード中の`wp_safe_redirect`を`wp_redirect`にしたりしても、駄目です。
|
|
99
99
|
|
|
100
100
|
複合条件での絞り込みでうまくゆかなくなるのは、「[Wordpress検索結果のURLを変えたい](https://teratail.com/questions/141475)」と類似です。そこでのコメントで質問者が「キーワードのみの検索」でなく「キーワード以外にパラメータを指定して検索をかける」と述べた箇所……。
|
|
101
|
+
または、「[get_queried_objectがだめになるケース](http://www-creators.com/archives/1107#get_queried_object-2)」で「タクソノミーアーカイブを、複数のタームでフィルターすると・・・、クエリーは動作するのですが、get_queired_objectは複数のタームが指定される事は考慮されていないので、おかしな値を返してきます」とあるのに、似るのかも……?
|
|
101
102
|
|
|
102
103
|
さて、どこを直せばうまくゆくのか。
|
|
103
104
|
或いは、別の解法があるのか($wp_rewriteを使った方法……?)。
|
10
タイトルに「(及び複数クエリー・パラメーター)」を挿入。
title
CHANGED
|
@@ -1,1 +1,1 @@
|
|
|
1
|
-
複数タグで絞り込みした際のタグ・アーカイブ・ページのURLをパーマリンク(/tag/)に統一し、タイトル表示でもタグ複数の併記に変更したい。
|
|
1
|
+
複数タグ(及び複数クエリー・パラメーター)で絞り込みした際のタグ・アーカイブ・ページのURLをパーマリンク(/tag/)に統一し、タイトル表示でもタグ複数の併記に変更したい。
|
body
CHANGED
|
@@ -87,7 +87,7 @@
|
|
|
87
87
|
}
|
|
88
88
|
add_action( 'template_redirect', 'tag_url_customize' );
|
|
89
89
|
```
|
|
90
|
-
しかし、これで`http://example.com/wp/?tag=タグ名A+タグ名B`とクエリーを入力すると、リダイレクト結果のURLは`http://example.com/wp/tag/タグ名A%2Bタグ名B`となってしまって、「お探しのページが見つかりません。」と出ます。URL文字列で「+」が「%2B」にエンコードされた所為か、複数タグでのフィルタリングが無効にな
|
|
90
|
+
しかし、これで`http://example.com/wp/?tag=タグ名A+タグ名B`とクエリーを入力すると、リダイレクト結果のURLは`http://example.com/wp/tag/タグ名A%2Bタグ名B`となってしまって、「お探しのページが見つかりません。」と出ます。URL文字列で「+」が「%2B」にエンコードされた所為か、複数タグでのフィルタリングが無効になります。
|
|
91
91
|
また、タグで絞り込みした一覧を更にキーワード検索で絞り込んだ場合のURL`http://example.com/wp/?tag=タグ名A&s=キーワードB`でも、結果は「ページが見つかりませんでした」になります。遷移後のURLからはなぜか`&s=キーワードB`が脱落し、しかも、「タグ名A」を仮に日本語で"あ"とするとエンコードは"%E3%81%82"ですが、このエンコードした文字列中の「%」がさらに「%25」にエンコードされて"%25e3%2581%2582"となる始末。これが`http://example.com/wp/tag/タグ名A?s=キーワードB`だったらまともに動作するので、どうも「tag」以外のパラメーターが&で附加されてゆくといけないみたいです。
|
|
92
92
|
|
|
93
93
|
エンコードが原因ならば、と上記コード三行目で`urlencode()`を使用せずに
|
9
推敲
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -95,9 +95,11 @@
|
|
|
95
95
|
wp_safe_redirect( home_url( '/tag/' ) . get_query_var( 'tag' ) );
|
|
96
96
|
```
|
|
97
97
|
とするのも試してみましたが、URLパラメーターが`?tag=タグ名A+タグ名B`だと`/tag/タグ名A+タグ名B`へのリダイレクトに成功するものの、タグだけでなくキイワード検索と組合わせた`?tag=タグ名A&s=キーワードB`では`/tag/タグ名A`へと遷移してしまってやはり「&」以下のクエリー`&s=キーワードB`が脱け落ちます。
|
|
98
|
+
コード中の`wp_safe_redirect`を`wp_redirect`にしたりしても、駄目です。
|
|
99
|
+
|
|
98
|
-
複合条件での絞り込みでうまくゆかな
|
|
100
|
+
複合条件での絞り込みでうまくゆかなくなるのは、「[Wordpress検索結果のURLを変えたい](https://teratail.com/questions/141475)」と類似です。そこでのコメントで質問者が「キーワードのみの検索」でなく「キーワード以外にパラメータを指定して検索をかける」と述べた箇所……。
|
|
99
|
-
|
|
101
|
+
|
|
100
|
-
どこを直せばうまくゆくのか。
|
|
102
|
+
さて、どこを直せばうまくゆくのか。
|
|
101
103
|
或いは、別の解法があるのか($wp_rewriteを使った方法……?)。
|
|
102
104
|
御教示戴けると有り難く存じます。
|
|
103
105
|
|
8
「試したこと」に大幅加筆。
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -17,7 +17,7 @@
|
|
|
17
17
|
……
|
|
18
18
|
<h1 class="page-title">タグ: タグ名A</h1>
|
|
19
19
|
```
|
|
20
|
-
これは「+」で附け足したタグ名Bが無視されてしまって単数タグの場合と変
|
|
20
|
+
これは「+」で附け足したタグ名Bが無視されてしまって単数タグの場合と変りがなく、紛れやすい。混同を防ぐには、複合したフィルタリングであることを明示すべきですから、
|
|
21
21
|
```HTML
|
|
22
22
|
<title>タグ: タグ名A+タグ名B - サイト名</title>
|
|
23
23
|
……
|
|
@@ -88,9 +88,17 @@
|
|
|
88
88
|
add_action( 'template_redirect', 'tag_url_customize' );
|
|
89
89
|
```
|
|
90
90
|
しかし、これで`http://example.com/wp/?tag=タグ名A+タグ名B`とクエリーを入力すると、リダイレクト結果のURLは`http://example.com/wp/tag/タグ名A%2Bタグ名B`となってしまって、「お探しのページが見つかりません。」と出ます。URL文字列で「+」が「%2B」にエンコードされた所為か、複数タグでのフィルタリングが無効になるみたいです。
|
|
91
|
-
|
|
91
|
+
また、タグで絞り込みした一覧を更にキーワード検索で絞り込んだ場合のURL`http://example.com/wp/?tag=タグ名A&s=キーワードB`でも、結果は「ページが見つかりませんでした」になります。遷移後のURLからはなぜか`&s=キーワードB`が脱落し、しかも、「タグ名A」を仮に日本語で"あ"とするとエンコードは"%E3%81%82"ですが、このエンコードした文字列中の「%」がさらに「%25」にエンコードされて"%25e3%2581%2582"となる始末。これが`http://example.com/wp/tag/タグ名A?s=キーワードB`だったらまともに動作するので、どうも「tag」以外のパラメーターが&で附加されてゆくといけないみたいです。
|
|
92
|
+
|
|
93
|
+
エンコードが原因ならば、と上記コード三行目で`urlencode()`を使用せずに
|
|
94
|
+
```PHP
|
|
95
|
+
wp_safe_redirect( home_url( '/tag/' ) . get_query_var( 'tag' ) );
|
|
96
|
+
```
|
|
97
|
+
とするのも試してみましたが、URLパラメーターが`?tag=タグ名A+タグ名B`だと`/tag/タグ名A+タグ名B`へのリダイレクトに成功するものの、タグだけでなくキイワード検索と組合わせた`?tag=タグ名A&s=キーワードB`では`/tag/タグ名A`へと遷移してしまってやはり「&」以下のクエリー`&s=キーワードB`が脱け落ちます。
|
|
98
|
+
複合条件での絞り込みでうまくゆかないのは、「[Wordpress検索結果のURLを変えたい](https://teratail.com/questions/141475)」と類似です。そこでのコメントで質問者が「キーワードのみの検索」でなく「キーワード以外にパラメータを指定して検索をかける」と述べた箇所……。
|
|
99
|
+
ほか、コード中の`wp_safe_redirect`を`wp_redirect`にしても、やはり駄目です。
|
|
92
100
|
どこを直せばうまくゆくのか。
|
|
93
|
-
或いは、別の解法があるのか。
|
|
101
|
+
或いは、別の解法があるのか($wp_rewriteを使った方法……?)。
|
|
94
102
|
御教示戴けると有り難く存じます。
|
|
95
103
|
|
|
96
104
|
### 補足情報(FW/ツールのバージョンなど)
|
7
追記の日附を訂正。
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
と、指定したタグ複数を併記する表示に改める仕組みにしたい。
|
|
27
27
|
アーカイブ・ページのタイトルを変更する方法を検索しても、`single_tag_title()`関数で接頭辞(prefix)の「タグ:」を削除する例ばかり出てきて、複数のタグ・スラッグを取得するやり方が見つけられません。
|
|
28
28
|
e.g.[get_the_archive_title()で呼び出したタイトルから”アーカイブ:”、”カテゴリー:”、”タグ:”、”作者:”を消す方法](http://shintaro-kawase.hatenablog.com/entry/20160620/1466351239)
|
|
29
|
-
**2019-02-
|
|
29
|
+
**2019-02-28追記**
|
|
30
30
|
既に消滅したサイトながらInternet Archiveに残存する「[[覚書] 複数タグのアーカイブで、タグ情報一式を取得](http://web.archive.org/web/20130427063725/http://animal-taste.com/wordpress-tips/2008/12/1115.html)」を真似て、タイトル表示の問題は解決できました。下記コードをテーマのfunctions.phpに追加。
|
|
31
31
|
```PHP
|
|
32
32
|
function multiple_tags() {
|
6
コードと地の文とを統一
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
```
|
|
20
20
|
これは「+」で附け足したタグ名Bが無視されてしまって単数タグの場合と変化がなく、紛れやすい。混同を防ぐには、複合したフィルタリングであることを明示すべきですから、
|
|
21
21
|
```HTML
|
|
22
|
-
<title>タグ名A+タグ名B - サイト名</title>
|
|
22
|
+
<title>タグ: タグ名A+タグ名B - サイト名</title>
|
|
23
23
|
……
|
|
24
24
|
<h1 class="page-title">タグ: タグ名A+タグ名B</h1>
|
|
25
25
|
```
|
|
@@ -34,9 +34,9 @@
|
|
|
34
34
|
$tagVar = get_query_var('tag');
|
|
35
35
|
if ( !empty($tagVar) ) {
|
|
36
36
|
if ( strpos($tagVar, '+') || strpos($tagVar, ' ') )
|
|
37
|
-
$separator = "
|
|
37
|
+
$separator = " + ";
|
|
38
38
|
else if ( strpos($tagVar, ',') )
|
|
39
|
-
$separator = "
|
|
39
|
+
$separator = " , ";
|
|
40
40
|
$tagSlugs = $currentTerms = array();
|
|
41
41
|
$tagSlugs = preg_split('(+|,| )', $tagVar);
|
|
42
42
|
foreach ($tagSlugs as $tagSlug)
|
|
@@ -61,15 +61,15 @@
|
|
|
61
61
|
// titleタグ変更 Cf. https://teratail.com/questions/168613
|
|
62
62
|
function change_document_title_parts( $title ) {
|
|
63
63
|
if ( is_tag() ) {
|
|
64
|
-
$title['title'] = 'タグ:'.multiple_tags();
|
|
64
|
+
$title['title'] = 'タグ: '.multiple_tags();
|
|
65
65
|
}
|
|
66
66
|
return $title;
|
|
67
67
|
}
|
|
68
68
|
|
|
69
|
-
// アーカイブ・ページのタイトル変更
|
|
69
|
+
// アーカイブ・ページのタイトル(h1要素)変更
|
|
70
70
|
add_filter( 'get_the_archive_title', function ($title) {
|
|
71
71
|
if ( is_tag() ) {
|
|
72
|
-
$title = sprintf( esc_html__( 'タグ
|
|
72
|
+
$title = sprintf( esc_html__( 'タグ: %s' ), multiple_tags() );
|
|
73
73
|
}
|
|
74
74
|
return $title;
|
|
75
75
|
});
|
5
「発生している問題」に解決法の追記。
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -26,7 +26,55 @@
|
|
|
26
26
|
と、指定したタグ複数を併記する表示に改める仕組みにしたい。
|
|
27
27
|
アーカイブ・ページのタイトルを変更する方法を検索しても、`single_tag_title()`関数で接頭辞(prefix)の「タグ:」を削除する例ばかり出てきて、複数のタグ・スラッグを取得するやり方が見つけられません。
|
|
28
28
|
e.g.[get_the_archive_title()で呼び出したタイトルから”アーカイブ:”、”カテゴリー:”、”タグ:”、”作者:”を消す方法](http://shintaro-kawase.hatenablog.com/entry/20160620/1466351239)
|
|
29
|
+
**2019-02-08追記**
|
|
30
|
+
既に消滅したサイトながらInternet Archiveに残存する「[[覚書] 複数タグのアーカイブで、タグ情報一式を取得](http://web.archive.org/web/20130427063725/http://animal-taste.com/wordpress-tips/2008/12/1115.html)」を真似て、タイトル表示の問題は解決できました。下記コードをテーマのfunctions.phpに追加。
|
|
31
|
+
```PHP
|
|
32
|
+
function multiple_tags() {
|
|
33
|
+
//複数タグのアーカイブでURLからスラッグを拾ってID・タグ名を取得。
|
|
34
|
+
$tagVar = get_query_var('tag');
|
|
35
|
+
if ( !empty($tagVar) ) {
|
|
36
|
+
if ( strpos($tagVar, '+') || strpos($tagVar, ' ') )
|
|
37
|
+
$separator = "+";
|
|
38
|
+
else if ( strpos($tagVar, ',') )
|
|
39
|
+
$separator = "/";
|
|
40
|
+
$tagSlugs = $currentTerms = array();
|
|
41
|
+
$tagSlugs = preg_split('(+|,| )', $tagVar);
|
|
42
|
+
foreach ($tagSlugs as $tagSlug)
|
|
43
|
+
$currentTerms[] = get_term_by('slug', $tagSlug, 'post_tag');
|
|
44
|
+
}
|
|
45
|
+
//出力
|
|
46
|
+
if ( !empty($currentTerms) ) {
|
|
47
|
+
$tagCount = count($currentTerms);
|
|
48
|
+
$i = 2;
|
|
49
|
+
foreach ($currentTerms as $currentTerm) {
|
|
50
|
+
$currentTagName .= $currentTerm->name;
|
|
51
|
+
if ( $i < $tagCount )
|
|
52
|
+
$currentTagName .= ', ';
|
|
53
|
+
else if ( $i == $tagCount )
|
|
54
|
+
$currentTagName .= $separator;
|
|
55
|
+
$i++;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return $currentTagName;
|
|
59
|
+
}
|
|
29
60
|
|
|
61
|
+
// titleタグ変更 Cf. https://teratail.com/questions/168613
|
|
62
|
+
function change_document_title_parts( $title ) {
|
|
63
|
+
if ( is_tag() ) {
|
|
64
|
+
$title['title'] = 'タグ:'.multiple_tags();
|
|
65
|
+
}
|
|
66
|
+
return $title;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
// アーカイブ・ページのタイトル変更
|
|
70
|
+
add_filter( 'get_the_archive_title', function ($title) {
|
|
71
|
+
if ( is_tag() ) {
|
|
72
|
+
$title = sprintf( esc_html__( 'タグ:%s' ), multiple_tags() );
|
|
73
|
+
}
|
|
74
|
+
return $title;
|
|
75
|
+
});
|
|
76
|
+
```
|
|
77
|
+
|
|
30
78
|
### 試したこと
|
|
31
79
|
|
|
32
80
|
「[WordPressでサイト内検索結果のURLを変更する方法](https://techmemo.biz/wordpress/search-url-customize/)」を参考にして、テーマのfunctions.phpに以下のコードを追記しました。
|
4
single_tag_title()に関し追記
title
CHANGED
|
@@ -1,1 +1,1 @@
|
|
|
1
|
-
複数タグで絞り込みした際のタグ・アーカイブ
|
|
1
|
+
複数タグで絞り込みした際のタグ・アーカイブ・ページのURLをパーマリンク(/tag/)に統一し、タイトル表示でもタグ複数の併記に変更したい。
|
body
CHANGED
|
@@ -24,6 +24,8 @@
|
|
|
24
24
|
<h1 class="page-title">タグ: タグ名A+タグ名B</h1>
|
|
25
25
|
```
|
|
26
26
|
と、指定したタグ複数を併記する表示に改める仕組みにしたい。
|
|
27
|
+
アーカイブ・ページのタイトルを変更する方法を検索しても、`single_tag_title()`関数で接頭辞(prefix)の「タグ:」を削除する例ばかり出てきて、複数のタグ・スラッグを取得するやり方が見つけられません。
|
|
28
|
+
e.g.[get_the_archive_title()で呼び出したタイトルから”アーカイブ:”、”カテゴリー:”、”タグ:”、”作者:”を消す方法](http://shintaro-kawase.hatenablog.com/entry/20160620/1466351239)
|
|
27
29
|
|
|
28
30
|
### 試したこと
|
|
29
31
|
|
3
タイトル加筆
title
CHANGED
|
@@ -1,1 +1,1 @@
|
|
|
1
|
-
複数タグで絞り込みした際のタグ・アーカイブのページURLをパーマリンクに統一し、タイトル表示も変更したい。
|
|
1
|
+
複数タグで絞り込みした際のタグ・アーカイブのページURLをパーマリンク(/tag/)に統一し、タイトル表示でもタグ複数の併記に変更したい。
|
body
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
### 前提・実現したいこと
|
|
2
2
|
ワードプレスでは、タグ・アーカイブのページのデフォルトURLは、下記の通り。
|
|
3
3
|
[サイトURL]/tag/「タグのスラッグ」
|
|
4
|
-
即ち、URLに`http://example.com/wp/?tag=タグ名`とクエリのパラメーターを附け足すと、強制的に`http://example.com/wp/tag/タグ名`へと遷移されます。
|
|
4
|
+
即ち、URLに`http://example.com/wp/?tag=タグ名`とクエリのパラメーターを附け足すと、強制的に`http://example.com/wp/tag/タグ名`へと自動遷移されます。
|
|
5
5
|
ところで、記事にタグは複数附けられ、指定した複数のタグを併せ持つ記事をAND検索みたいに絞り込み表示できます。
|
|
6
6
|
Cf.[WordPressで複数のタグが付けられた記事の一覧を表示する方法ってある?](http://www.oshiete-kun.net/archives/2016/06/wordpress_multitagsearch.html)
|
|
7
7
|
この場合、URLに`http://example.com/wp/?tag=タグ名A+タグ名B`と入力しても、自動的には`http://example.com/wp/tag/タグ名A+タグ名B`へとリダイレクトしてくれません。
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
……
|
|
24
24
|
<h1 class="page-title">タグ: タグ名A+タグ名B</h1>
|
|
25
25
|
```
|
|
26
|
-
と表示
|
|
26
|
+
と、指定したタグ複数を併記する表示に改める仕組みにしたい。
|
|
27
27
|
|
|
28
28
|
### 試したこと
|
|
29
29
|
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
add_action( 'template_redirect', 'tag_url_customize' );
|
|
39
39
|
```
|
|
40
40
|
しかし、これで`http://example.com/wp/?tag=タグ名A+タグ名B`とクエリーを入力すると、リダイレクト結果のURLは`http://example.com/wp/tag/タグ名A%2Bタグ名B`となってしまって、「お探しのページが見つかりません。」と出ます。URL文字列で「+」が「%2B」にエンコードされた所為か、複数タグでのフィルタリングが無効になるみたいです。
|
|
41
|
-
コード中の`wp_safe_redirect`を`wp_redirect`にしても駄目です。
|
|
41
|
+
コード中の`wp_safe_redirect`を`wp_redirect`にしてもやはり駄目です。
|
|
42
42
|
どこを直せばうまくゆくのか。
|
|
43
43
|
或いは、別の解法があるのか。
|
|
44
44
|
御教示戴けると有り難く存じます。
|
2
タイトル変更
title
CHANGED
|
@@ -1,1 +1,1 @@
|
|
|
1
|
-
複数タグで絞り込みした際のタグ・アーカイブのページURLをパーマリンクに統一したい
|
|
1
|
+
複数タグで絞り込みした際のタグ・アーカイブのページURLをパーマリンクに統一し、タイトル表示も変更したい。
|
body
CHANGED
|
File without changes
|
1
脱字修正
title
CHANGED
|
File without changes
|
body
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
この場合、URLに`http://example.com/wp/?tag=タグ名A+タグ名B`と入力しても、自動的には`http://example.com/wp/tag/タグ名A+タグ名B`へとリダイレクトしてくれません。
|
|
8
8
|
しかしどちらも結果表示は同じものなのですから、URLも同じものに統一したい。これは、正規化URL(canonical URL)の問題に含まれるのかもしれません。
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
猶、できることならば、タグで絞り込んだ中から更にキーワード検索で絞り込みする場合のURL`http://example.com/wp/?tag=タグ名A&s=キーワードB`乃至`http://example.com/wp/tag/タグ名A?s=キーワードB`等も、パーマリンクに則って`http://example.com/wp/tag/タグ名A/search/キーワードB`へと遷移されることが、望ましい。
|
|
11
11
|
Cf.[WordPressのサイト上で簡単に並び替え&絞り込みする方法 ](https://magnets.jp/web_design/3124/)
|
|
12
12
|
### 発生している問題
|
|
13
13
|
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
add_action( 'template_redirect', 'tag_url_customize' );
|
|
39
39
|
```
|
|
40
40
|
しかし、これで`http://example.com/wp/?tag=タグ名A+タグ名B`とクエリーを入力すると、リダイレクト結果のURLは`http://example.com/wp/tag/タグ名A%2Bタグ名B`となってしまって、「お探しのページが見つかりません。」と出ます。URL文字列で「+」が「%2B」にエンコードされた所為か、複数タグでのフィルタリングが無効になるみたいです。
|
|
41
|
-
`wp_safe_redirect`を`wp_redirect`にしても駄目です。
|
|
41
|
+
コード中の`wp_safe_redirect`を`wp_redirect`にしても駄目です。
|
|
42
42
|
どこを直せばうまくゆくのか。
|
|
43
43
|
或いは、別の解法があるのか。
|
|
44
44
|
御教示戴けると有り難く存じます。
|