I’ve created a Field Group and assigned it to a post template
One of the custom fields in “start_date”
About 150 pages reference this ACF Field Group
Is it possible to create a page that lists all the “start_dates” in a long list?
In other words, is there a way to write some PHP that pulls each of the posts “start_date” and list them on a single page?
So, to give an example:
.com/slug-a/ > “start_date” = 15st October 2021
.com/slug-b/ > “start_date” = 25th November 2021
.com/slug-c/ > “start_date” = 23rd January 2022
.com/slug-d/ > “start_date” = 30th March 2022
Then, in a separate page, I list (loop) these dates with a URL back to slug, so:
.com/events/ and the content would be like this:
Amazing Events List < Header
15st October 2021
25th November 2021
23rd January 2022
30th March 2022
And each of the dates is clickable back to the source post…
Hi @miksynder
You would need to query your posts to see if your custom field exists, something like:
<?php
$args = array(
'post_type' => array('post', 'page'),
'posts_per_page' => 10,
'post_status' => 'publish',
'meta_query' => array(
'relation' => 'AND',
array(
'key' => 'start_date',
'compare' => 'EXISTS',
),
),
);
// query
$the_query = new WP_Query( $args );
?>
<?php if( $the_query->have_posts() ): ?>
<h2>Amazing Events List</h2>
<ul>
<?php while( $the_query->have_posts() ) : $the_query->the_post(); ?>
<?php $start_date = get_field('start_date');?>
<li>
<a href="<?php the_permalink(); ?>">
<?php if($start_date): echo $start_date; endif; ?>
<?php the_title(); ?>
</a>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php wp_reset_query(); // Restore global post data stomped by the_post(). ?>
Thanks for replying me. This solved my problem.