質問編集履歴
4
再追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -62,7 +62,7 @@
|
|
62
62
|
|
63
63
|
よろしくお願いします。
|
64
64
|
|
65
|
-
### 【追記】
|
65
|
+
### 【追記1】
|
66
66
|
参考URLでは、カスタムフィールドで行っていたので、
|
67
67
|
|
68
68
|
・おすすめ(sort_pickup)
|
@@ -124,4 +124,46 @@
|
|
124
124
|
ソートの切り替えができれば問題はないと思っておりますので、
|
125
125
|
お知恵貸して頂ければ幸いです。
|
126
126
|
|
127
|
-
よろしくお願いします。
|
127
|
+
よろしくお願いします。
|
128
|
+
|
129
|
+
### 【追記2】
|
130
|
+
頂いた参考サイトを元に、
|
131
|
+
試行錯誤しながら下記のようにしてみましたが
|
132
|
+
切り替え用のセレクトボックスでソートを切り替えを行った所、
|
133
|
+
一旦は並び替わるようになしましたが、再度他のソートにした所、
|
134
|
+
1回目に切り替えた並び順から変更されない状態になりました。
|
135
|
+
```
|
136
|
+
// おすすめ
|
137
|
+
$walk_time = array(
|
138
|
+
'post_type' => 'post',
|
139
|
+
'tax_query' => array(
|
140
|
+
array(
|
141
|
+
'taxonomy' => 'walk_time',
|
142
|
+
'field' => 'slug',
|
143
|
+
),
|
144
|
+
),
|
145
|
+
);
|
146
|
+
$walk_time_query = new WP_Query( $walk_time );
|
147
|
+
// 徒歩
|
148
|
+
$walk_time = array(
|
149
|
+
'post_type' => 'post',
|
150
|
+
'tax_query' => array(
|
151
|
+
array(
|
152
|
+
'taxonomy' => 'walk_time',
|
153
|
+
'field' => 'slug',
|
154
|
+
),
|
155
|
+
),
|
156
|
+
);
|
157
|
+
$walk_time_query = new WP_Query( $walk_time );
|
158
|
+
// 値段
|
159
|
+
$max_price = array(
|
160
|
+
'post_type' => 'post',
|
161
|
+
'tax_query' => array(
|
162
|
+
array(
|
163
|
+
'taxonomy' => 'max_price',
|
164
|
+
'field' => 'slug',
|
165
|
+
),
|
166
|
+
),
|
167
|
+
);
|
168
|
+
$max_price_query = new WP_Query( $max_price );
|
169
|
+
```
|
3
再検証の追記及びタイトルを一部変更
title
CHANGED
@@ -1,1 +1,1 @@
|
|
1
|
-
【Wordpress】検索結果にタクソノミーによるソート切り替え
|
1
|
+
【Wordpress】検索結果にタクソノミーまたはACFの値によるソート切り替え(一覧の並び替え)を設置したい。
|
body
CHANGED
@@ -60,4 +60,68 @@
|
|
60
60
|
この方法を行う上で『ここをこうすれば良い』
|
61
61
|
または、別の方法などでも結構ですので、ご教授頂ければ幸いです。
|
62
62
|
|
63
|
+
よろしくお願いします。
|
64
|
+
|
65
|
+
### 【追記】
|
66
|
+
参考URLでは、カスタムフィールドで行っていたので、
|
67
|
+
|
68
|
+
・おすすめ(sort_pickup)
|
69
|
+
・徒歩(sort_walktime)
|
70
|
+
・値段(sort_maxprice)
|
71
|
+
|
72
|
+
このようにフィールドを作りfunctions.phpに
|
73
|
+
```
|
74
|
+
// 並び替え条件パラメータを追加
|
75
|
+
function add_sort_query_vars( $public_query_vars ) {
|
76
|
+
$public_query_vars[] = 'sort';
|
77
|
+
return $public_query_vars;
|
78
|
+
}
|
79
|
+
add_filter( 'query_vars', 'add_sort_query_vars' );
|
80
|
+
// 並び替え処理を設定
|
81
|
+
function change_posts_per_page( $query ){
|
82
|
+
if($query->is_search()){
|
83
|
+
if( !empty($_GET['sort']) ){
|
84
|
+
if( $_GET['sort'] == 'RENT_DESC' ){
|
85
|
+
$query->set( 'orderby', array( 'sort_maxprice' => 'DESC') );
|
86
|
+
}elseif( $_GET['sort'] == 'RENT_ASC' ){
|
87
|
+
$query->set( 'orderby', array( 'sort_walktime' => 'ASC' ) );
|
88
|
+
}else{
|
89
|
+
$query->set( 'orderby', array( 'sort_pickup' => 'DESC' ) );
|
90
|
+
}
|
91
|
+
}
|
92
|
+
}
|
93
|
+
}
|
94
|
+
add_action( 'pre_get_posts', 'change_posts_per_page' );
|
95
|
+
```
|
96
|
+
こちらで試してみましが上手く行かずでしたので、
|
97
|
+
```
|
98
|
+
// 並び替え条件パラメータを追加
|
99
|
+
function add_sort_query_vars( $public_query_vars ) {
|
100
|
+
$public_query_vars[] = 'sort';
|
101
|
+
return $public_query_vars;
|
102
|
+
}
|
103
|
+
add_filter( 'query_vars', 'add_sort_query_vars' );
|
104
|
+
// 並び替え処理を設定
|
105
|
+
function change_posts_per_page( $query ){
|
106
|
+
if($query->is_search()){
|
107
|
+
if( !empty($_GET['sort']) ){
|
108
|
+
if( $_GET['sort'] == 'RENT_DESC' ){
|
109
|
+
$query->set( 'orderby', array( get_field('sort_maxprice') => 'DESC') );
|
110
|
+
}elseif( $_GET['sort'] == 'RENT_ASC' ){
|
111
|
+
$query->set( 'orderby', array( 'get_field('sort_walktime') => 'ASC' ) );
|
112
|
+
}else{
|
113
|
+
$query->set( 'orderby', array( get_field('sort_pickup') => 'DESC' ) );
|
114
|
+
}
|
115
|
+
}
|
116
|
+
}
|
117
|
+
}
|
118
|
+
add_action( 'pre_get_posts', 'change_posts_per_page' );
|
119
|
+
```
|
120
|
+
このように、get_fieldでも検証してみましたが、
|
121
|
+
ソートの切り替えが反映されませんでした。
|
122
|
+
|
123
|
+
最終的にはタクソノミーでも、カスタムフィールドでも
|
124
|
+
ソートの切り替えができれば問題はないと思っておりますので、
|
125
|
+
お知恵貸して頂ければ幸いです。
|
126
|
+
|
63
127
|
よろしくお願いします。
|
2
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
現在、Wordpressにて
|
1
|
+
現在、Wordpressにて検索画面を作成しています。
|
2
2
|
その際、検索結果にタクソノミーによるソート切り替え機能を実装したいと思い、
|
3
3
|
多々調べながら、実装を試みていますが適用されずの為、ご相談させて頂きます。
|
4
4
|
|
1
誤字修正
title
CHANGED
File without changes
|
body
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
・値段(max_price)
|
10
10
|
|
11
11
|
上記、3つのタクソノミーを作成し
|
12
|
-
※()内は
|
12
|
+
※()内はタームです。
|
13
13
|
|
14
14
|
その後、functions.phpにて
|
15
15
|
```
|