質問するログイン新規登録

回答編集履歴

3

修正

2021/01/14 08:19

投稿

CHERRY
CHERRY

スコア25234

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

修正

2021/01/14 08:19

投稿

CHERRY
CHERRY

スコア25234

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
- とのことなので検索結果一覧の判定は、`is_search()` で判定するこょうか。
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
- 以上まとめるとこんな感じで、functions.php にきさいするとどうでょうか
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

書きかけで投稿されたので修正

2021/01/14 07:25

投稿

CHERRY
CHERRY

スコア25234

answer CHANGED
@@ -2,29 +2,21 @@
2
2
 
3
3
  > query_posts(
4
4
 
5
- query_posts は、メインクエリを書き換えるので、最近は使わないほうが良いです。
5
+ query_posts は、メインクエリを書き換えるので、非推奨になっていますので、使わないほうが良いです。
6
6
 
7
- - pre_get_posts フックを使う。
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) {