If I understand correctly, you would like to use two ACF date fields from the current post, and get pages within the date range. I set up a test and was able to do it like this:
[pass fields="acf_date_1, acf_date_2"]
[loop type="post" count="15" after="{ACF_DATE_1}" before="{ACF_DATE_2}"]
[field title] - [field date]
[/loop]
[/pass]
Thank you very much for your answer.
I’m sorry. I was’nt much clear on my explanation.
I want to show events that are occurring. So, i need to get posts that TODAY is in the range of ACF_DATE_1 and ACF_DATE_2.
Each of these posts have ACF_DATE_1 and ACF_DATE_2 (start and end date).
I see, thank you for clarifying. I tried this, and found that [loop] was not recognizing the second date field query. I corrected this in the newest plugin update.
So, I believe you’re looking for something like this:
[loop type="page" field="data_de_inicio" value="today" compare="<=" field_2="data_de_termino" value_2="today" compare_2=">=" date_format="Ymd"]
A shorter version would be:
[loop type="page" field="data_de_inicio" value="past" field_2="data_de_termino" value_2="future" date_format="Ymd"]
The difference between these two is that value=”past” will match past dates not including today.
Thank you very much! π
past and future works fine.
By the way, i cannot get > or <. They are being escaped as > and <
I could use another loop to find fields equal to today, but that is not much elegant…
Sure, I made another update so you can do this:
[loop .. value="past and today" ..]
I also added a check in case comparison value is escaped. This is probably due to using the Visual editor.
Wow!
Wonderful.
Thank you very much Eliot! π
Great, I’m glad it works. It was a good chance to improve support for ACF date fields.
I used the date field comparison in a recent project, where I had to list current events (today and future) and past events (not including today) in separate sections. That’s when I added these new parameters – and that’s why “future” includes today and “past” doesn’t.
In your case, because it’s a range between two dates, it makes sense to include today in both. I hope it’s not too confusing, I updated the documentation for [loop] to describe this feature.
[loop type="curso" field="data_de_termino" value="past" date_format="Ymd" orderby="data_de_inicio" order="ASC"]
This code filters the content correctly, but the order is incorrect!
How about: orderby="field" key="data_de_inicio"..?
Sorry for that.
Thank you!
Hi Eliot.
I’m trying everything i can imagine to make it work, but have not been succeeded yet.
It works fine when i list previous or future events, but when i try to list events in between (where today is between or equal start and end dates) it does not work.
The following code (and similar attempts) does not work:
[loop type="curso" field="start_date" value="today" compare="<=" field_2="end_date" value_2="today" compare_2=">=" date_format="Ymd" orderby="field" key="data_de_inicio" order="ASC"]
The following code shows all events:
[loop type="curso" field="start_date" value="past and today" field_2="end_date" value_2="future" date_format="Ymd" orderby="field" key="data_de_inicio" order="ASC"]
Any idea?
If you could give me some time, I’ll set up a test to see why it’s not working as expected. I’ll let you know when I find something.
Wonderful!
Thank you very much, Eliot!
I found the problem: I recently rewrote how multiple fields are queried, and date format was only being applied to the first field. I fixed this in the newest update (2.2.4) so your code should work as expected now. Please let me know if that works.