Home › Forums › General Issues › How can I list custom fields from the posts?
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(). ?>
You must be logged in to reply to this topic.
Welcome to the Advanced Custom Fields community forum.
Browse through ideas, snippets of code, questions and answers between fellow ACF users
Helping others is a great way to earn karma, gain badges and help ACF development!
We use cookies to offer you a better browsing experience, analyze site traffic and personalize content. Read about how we use cookies and how you can control them in our Privacy Policy. If you continue to use this site, you consent to our use of cookies.