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

回答編集履歴

2

コードのミスを修正

2019/04/10 11:41

投稿

CHERRY
CHERRY

スコア25234

answer CHANGED
@@ -45,11 +45,11 @@
45
45
 
46
46
  if ( is_archive() ){
47
47
  $query->set( 'meta_query',
48
- array(
48
+ array( array(
49
49
  'key' => 'up_icon',
50
50
  'value' => 'soldout',
51
51
  'compare' => '!='
52
- )
52
+ ))
53
53
  );
54
54
  }
55
55
  }

1

pre_get_posts の方法を追記

2019/04/10 11:41

投稿

CHERRY
CHERRY

スコア25234

answer CHANGED
@@ -6,7 +6,7 @@
6
6
  例えば...
7
7
 
8
8
  ```
9
- $args = array(
9
+ $args = array(
10
10
  'meta_key' => 'up_icon',
11
11
  'meta_value' => 'soldout',
12
12
  'meta_compare' => '!='
@@ -30,4 +30,28 @@
30
30
  ```
31
31
  のような感じで...
32
32
 
33
- [関数リファレンス/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) 参照。
33
+ [関数リファレンス/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) 参照。
34
+
35
+ ----
36
+ 別解
37
+
38
+ functions.php で、[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) を使う方法。
39
+
40
+ ```
41
+ function my_pre_get_posts_273341($query) {
42
+ if ( is_admin() || ! $query->is_main_query() ){
43
+ return;
44
+ }
45
+
46
+ if ( is_archive() ){
47
+ $query->set( 'meta_query',
48
+ array(
49
+ 'key' => 'up_icon',
50
+ 'value' => 'soldout',
51
+ 'compare' => '!='
52
+ )
53
+ );
54
+ }
55
+ }
56
+ add_action( 'pre_get_posts', 'my_pre_get_posts_273341' );
57
+ ```