Support

Account

Home Forums Front-end Issues ACF URL Field on Index Page WP Query

Solving

ACF URL Field on Index Page WP Query

  • I apologize if this has been covered somewhere else. I am having a hard time finding the appropriate answer.

    I am trying to take an ACF URL field from a Post and display on the Post Index page using WP Query.

    Using “$variable = get_field(‘link’, $post->ID);” and “echo $variable;” is not working.

    Thanks for any help.

  • What is the field set to return? An array or the URL?

    Documentation for showing this type of field is located here https://www.advancedcustomfields.com/resources/link/ but depends on the return value setting.

  • Thanks. I was actually using the URL field at first, but also tried the Link field returning a URL. Both are returning empty values.

  • Going to need more information on the code. Is the code “Inside The Loop”? Where is code? What is the value of $post->ID

  • Thanks for your help, John. I did a var_dump that returned NULL.

    This is a WP Query outside of the Loop. Excuse my not so elegant code as I am a designer, not a developer. The value of the field is a standard URL.

    <?php
    $args = array( 'posts_per_page' => 8 );
    $variable = get_field('link', $post->ID);
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
    echo '<li>';
    		echo '<div class="img-container">';
    		the_post_thumbnail();
    		echo '</div>';
    		echo '<div class="news-container">';
    		echo '<h3>';
    		echo '<a href="';
    		the_permalink();
    		echo '">';
    		the_title();
    		echo '</a>';
    		echo '</h3>';
    		echo '<p class="date">';
    		the_date();
    		echo '</p>';
    		the_excerpt();
    		echo '<h4>';
    		echo '<a href="';
    		echo $variable;
    		echo '" />';
    		echo 'Read More';
    		echo '</a></h4>';
    		echo '</div>';
    		echo '</li>';
    		endwhile;
    			?>
  • If you are trying to get the field from the current post in the loop then all you need to do is move that line to inside the loop

    
    $args = array( 'posts_per_page' => 8 );
    $loop = new WP_Query( $args );
    while ( $loop->have_posts() ) : $loop->the_post();
      $variable = get_field('link', $post->ID);
    
  • It actually turned out to be a naming issue. Changing the name of the field from “link” caused the field to display the URL.

    Thanks for your time and help, John.

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

You must be logged in to reply to this topic.

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 Cookie Policy. If you continue to use this site, you consent to our use of cookies.