Support

Account

Home Forums General Issues How can I list custom fields from the posts?

Solved

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(). ?>
    
  • Thanks for replying me. This solved my problem.

Viewing 3 posts - 1 through 3 (of 3 total)

You must be logged in to reply to this topic.