回答編集履歴

3

メインクエリの場合を追記

2019/08/08 03:22

投稿

yukikp
yukikp

スコア797

test CHANGED
@@ -17,3 +17,45 @@
17
17
 
18
18
 
19
19
  を突っ込めばいいんじゃないかなという気がします。
20
+
21
+
22
+
23
+ 【追記】特定のページのメインクエリを書き換えるなら
24
+
25
+ ※エラーが出ても大丈夫なように、FTPでアップロードしてくださいね!
26
+
27
+ ```PHP
28
+
29
+ //functions.phpに追記
30
+
31
+ add_filter( 'pre_get_posts', 'my_order' );
32
+
33
+ function my_order( $query ) {
34
+
35
+
36
+
37
+ //管理画面だったり、サブクエリの場合は無難にデフォルトのままで
38
+
39
+ if( is_admin() || !$query->is_main_query() ) return $query;
40
+
41
+
42
+
43
+ // 管理画面以外のメインクエリで、表示順を変えたい部分の条件を設定ここではis_archive
44
+
45
+ if($query->is_archive()) {
46
+
47
+ //クエリを書き換えて
48
+
49
+ $query->set( 'orderby' , array( 'meta_value_num' => 'DESC', 'date' => 'DESC' ) );
50
+
51
+ $query->set( 'meta_key' , '先頭に表示させる記事' );
52
+
53
+ }
54
+
55
+
56
+
57
+ return $query;
58
+
59
+ }
60
+
61
+ ```

2

修正しました

2019/08/08 03:22

投稿

yukikp
yukikp

スコア797

test CHANGED
@@ -10,7 +10,7 @@
10
10
 
11
11
  $args['meta_key'] = '先頭に表示させる記事';
12
12
 
13
- $args['orderby'] = array( 'meta_value_num' => 'DESC', 'date' => 'ASC' );
13
+ $args['orderby'] = array( 'meta_value_num' => 'DESC', 'date' => 'DESC' );
14
14
 
15
15
  ```
16
16
 

1

タイポ修正

2019/08/08 03:08

投稿

yukikp
yukikp

スコア797

test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- この1件だけを先頭に表示させてって時々見る質問なのですが、カスタムフィールドで「先頭に表示させる記事」と言うのを作り、先頭に表示させたい記事で1を保存した上で後はWQ_Queryなり、get_postsなりの引数に
5
+ この1件だけを先頭に表示させてって時々見る質問なのですが、カスタムフィールドで「先頭に表示させる記事」と言うのを作り、先頭に表示させたい記事で1を保存した上で後はWP_Queryなり、get_postsなりの引数に
6
6
 
7
7
 
8
8