回答編集履歴
3
修正
answer
CHANGED
@@ -42,7 +42,7 @@
|
|
42
42
|
$query->set('meta_key', 'カスタムフィールドの項目名');
|
43
43
|
$query->set('orderby', 'meta_value_num');
|
44
44
|
$query->set('order', 'DESC');
|
45
|
-
return;
|
45
|
+
return $query;
|
46
46
|
}
|
47
47
|
}
|
48
48
|
```
|
2
修正
answer
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
|
1
|
+
まず、
|
2
2
|
|
3
3
|
> query_posts(
|
4
4
|
|
@@ -9,12 +9,10 @@
|
|
9
9
|
|
10
10
|
> そうすると、次のページも同じ内容が表示されてしまい思うようにできませんでした
|
11
11
|
|
12
|
-
|
12
|
+
検索結果一覧の並び順にしたいとのことなので、検索結果一覧の判定は、`is_search()` で判定します。
|
13
13
|
|
14
|
-
|
14
|
+
まず、参考情報としては...
|
15
15
|
|
16
|
-
参考情報としては...
|
17
|
-
|
18
16
|
- [アクションフック一覧/pre_get_posts](https://wpdocs.osdn.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7/pre_get_posts)
|
19
17
|
|
20
18
|
- [WP_Query 順序づけパラメータ](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E9.A0.86.E5.BA.8F.E3.81.A5.E3.81.91.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF)
|
@@ -27,12 +25,13 @@
|
|
27
25
|
|
28
26
|
- [WP_Query カスタムフィールドのパラメータ](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E3.82.AB.E3.82.B9.E3.82.BF.E3.83.A0.E3.83.95.E3.82.A3.E3.83.BC.E3.83.AB.E3.83.89.E3.81.AE.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF)
|
29
27
|
|
30
|
-
になります。
|
28
|
+
あたりになります。
|
31
29
|
|
32
|
-
以上
|
30
|
+
以上を まとめるとこんな感じのコードをテーマの functions.php に記載します。
|
33
31
|
|
34
32
|
```
|
35
33
|
add_action( 'pre_get_posts', 'custom_field_sort_315919' );
|
34
|
+
|
36
35
|
function custom_field_sort_315919 ($query) {
|
37
36
|
|
38
37
|
if ( is_admin() || ! $query->is_main_query() ){
|
1
書きかけで投稿されたので修正
answer
CHANGED
@@ -2,29 +2,21 @@
|
|
2
2
|
|
3
3
|
> query_posts(
|
4
4
|
|
5
|
-
query_posts は、メインクエリを書き換えるので、
|
5
|
+
query_posts は、メインクエリを書き換えるので、非推奨になっていますので、使わないほうが良いです。
|
6
6
|
|
7
|
-
|
7
|
+
pre_get_posts を使いましょう。
|
8
8
|
|
9
|
-
とりあえず...
|
10
9
|
|
11
10
|
> そうすると、次のページも同じ内容が表示されてしまい思うようにできませんでした
|
12
11
|
|
13
12
|
> 検索結果一覧の並び順
|
14
13
|
|
15
|
-
とのことなので、
|
14
|
+
とのことなので、検索結果一覧の判定は、`is_search()` で判定することでしょうか。
|
16
15
|
|
17
|
-
- 検索結果一覧の判定は、`is_search()` で判定
|
18
|
-
-
|
19
|
-
|
20
|
-
でしょうか。
|
21
|
-
|
22
16
|
参考情報としては...
|
23
17
|
|
24
18
|
- [アクションフック一覧/pre_get_posts](https://wpdocs.osdn.jp/%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3_API/%E3%82%A2%E3%82%AF%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%95%E3%83%83%E3%82%AF%E4%B8%80%E8%A6%A7/pre_get_posts)
|
25
19
|
|
26
|
-
>
|
27
|
-
|
28
20
|
- [WP_Query 順序づけパラメータ](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E9.A0.86.E5.BA.8F.E3.81.A5.E3.81.91.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF)
|
29
21
|
|
30
22
|
> orderby (文字列 | 配列) - パラメータで指定した項目の値で投稿をソートする。
|
@@ -35,8 +27,10 @@
|
|
35
27
|
|
36
28
|
- [WP_Query カスタムフィールドのパラメータ](https://wpdocs.osdn.jp/%E9%96%A2%E6%95%B0%E3%83%AA%E3%83%95%E3%82%A1%E3%83%AC%E3%83%B3%E3%82%B9/WP_Query#.E3.82.AB.E3.82.B9.E3.82.BF.E3.83.A0.E3.83.95.E3.82.A3.E3.83.BC.E3.83.AB.E3.83.89.E3.81.AE.E3.83.91.E3.83.A9.E3.83.A1.E3.83.BC.E3.82.BF)
|
37
29
|
|
38
|
-
|
30
|
+
になります。
|
39
31
|
|
32
|
+
以上とまとめるとこんな感じで、functions.php にきさいするとどうでしょうか。
|
33
|
+
|
40
34
|
```
|
41
35
|
add_action( 'pre_get_posts', 'custom_field_sort_315919' );
|
42
36
|
function custom_field_sort_315919 ($query) {
|