回答編集履歴
2
コードのミスを修正
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 の方法を追記
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
|
+
```
|