質問編集履歴

1

詰まったところが変更したので修正

2022/05/12 07:38

投稿

su_da221
su_da221

スコア59

test CHANGED
@@ -1 +1 @@
1
- プラグイン「ACF」で日付を判別してチェック入れたい
1
+ プラグイン「ACF」で日付を判別して表示・非表示切り替えたい
test CHANGED
@@ -2,7 +2,8 @@
2
2
  WordPressでイベント情報を載せています。
3
3
  イベント一覧ページに表示する際、
4
4
  ACFのラジオボックスで「参加募集中」「残りわずか」「満員御礼」を配置
5
- 下記のコードでイベント情報を拾っていま
5
+ 下記のコードでイベント情報を拾っていました
6
+
6
7
  ```php
7
8
  $args = array(
8
9
  'post_type' => 'events',
@@ -13,13 +14,51 @@
13
14
  $query = new WP_Query($args);
14
15
  ```
15
16
 
16
- 以前までは手作業で「満員御礼」にチェックを入れて、イベント情報には非表示になるようにしていたのですが、ここを自動で行えと思っており
17
+ 以前までは手作業で「満員御礼」にチェックを入れて、イベント情報には非表示になるようにしていたのですが、ここを自動で行えるよう修正したいと思ってデイトピッカーを使用して日付でソートするようにコードを修正しした
18
+ ```php
19
+ $today = date('Ymd');
20
+ $args = array(
21
+ 'post_type' => 'events',
22
+ 'post_status' => 'publish',
23
+ 'meta_query' => array(
24
+ 'relation' => 'AND',
25
+ array(
26
+ 'key' => 'カスタムフィールドキー',
27
+ 'value' => array('参加募集中', '残りわずか'),
28
+ ),
29
+ array(
30
+ 'key' => '終了日設定', // ACFで所得する公開日
31
+ 'value' => $today,
32
+ 'compare' => '>=', // value(今日)とkey(公開日)を比較して未来の場合のみ表示
33
+ ),
34
+ ),
35
+ 'tax_query' => array(
36
+ 'relation' => 'AND',
37
+ array(
38
+ 'taxonomy' => 'event-category',
39
+ 'field' => 'slug',
40
+ 'terms' => 'information'
41
+ )
42
+ )
43
+ );
44
+ $query = new WP_Query($args);
45
+ ```
46
+ ただAND検索にすると日付を指定したくないもの(常時開催)や、昔のイベントは日付登録していなくて、日付登録していないものも非表示になってしまいます。
47
+ これをOR検索にすると日付が過ぎていても「募集中」「残りわずか」に設定されているものは表示されてしまうので、満員御礼にチェックをつける手間が発生します。
48
+
17
49
  ### 実現したいこと
18
50
 
51
+ 昔のイベントや、常時開催しているイベントには日付登録作業をしないで下記を実現したいです。
52
+ ・終了日を過ぎたものは表示しない
53
+ ・「満員御礼」になっているものも表示しない
54
+
19
- 掲載終了日をACFのデイトピッカーなどで設定すると、終了日を過ぎたとき自動的に「満員御礼」にラジオボタンが移動する
55
+ ・(出来るならば)掲載終了日をACFのデイトピッカーなどで設定すると、終了日を過ぎたとき自動的に「満員御礼」にラジオボタンが移動する
20
56
  ということを行いたいです。
21
57
 
22
- 終了したものだけ載せページなど作成していイベント情報を全て拾った後に日付判定日付が過ぎたものは非表示では他の挙動を変更するのが面倒です。
58
+ 取得した投稿数表示すこと下記で行っているので一旦全て取得して日付で比較して非表示ということもきない(というかしたくない)です。
59
+ ```ここに言語を入力
60
+ new WP_Query($args)
61
+ ```
23
62
 
24
63
 
25
64
  ### 発生している問題・エラーメッセージ