I just need some clarification.
Firstly, do ACF functions have to be inside the WordPress Loop?
Secondly, my WordPress homepage a WP loop calling the latest posts, and a repeater field. Would I put the code for the repeater on the same .php file that I call the WP loop to grab the posts, OR would I have to put it onto a template page/static page etc (if so, could you please explain as I’m confused on this point)
I’m having a nightmare trying to get ACF to work on the homepage alongside a wordpress Loop calling the latest posts. Please advise me.
ACF saves / loads data to and from a $post. Keeping this in mind, it would make sense to place the template code within the theme file that renders out the post’s data.
For a single page, this is most likely single.php or page.php
For a loop, your theme may be loading in a partial file called content-post.php – in which case this is also where you would want to place the code.
This of the_field as a similar function to the_content(); it is relevant only to the current post object, not the global WP site.
Hope that helps.
There are two options in the Reading settings in WP back-end. Static page and posts page. I’ve set the static page option to my Homepage which uses a template that contains code that does the following (I’ve abbreviated it ofc but it fully works. It’ll either display ACF fields or the posts, never both):
Gets the Posts.
<?php while ( have_posts() ) : the_post(); ?> ...Do stuff
Afterwards, displays the ACF repeater fields.
<?php if( get_field('care_list') ): ?> <?php while(has_sub_field('care_list')): ?> ...Do stuff
I cant set the Homepage to be a static page and posts page, but essentially I need to display both on the same page anyway. How do I do this?
If you set the posts home page to appear on a static page (Homepage), then WP will change the query run to only find posts, not find the page (Homepage).
This is a limitation with WP, not ACF.
To get around it, you can load the data specifically from the Homepage using a $post_id parameter on all get_field / has_sub_field functions.
You can read about this here:
Hope that helps.
The topic ‘Homepage with Loop & ACF’ is closed to new replies.
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!
The ACF site is currently experiencing some issues.— Advanced Custom Fields (@wp_acf) September 29, 2022
We apologize for the inconvenience and we are working hard to get it back up and running as soon as possible.
© 2022 Advanced Custom Fields.