8
votes

I am using the advanced custom field plugin for Wordpress. I am having difficulty displaying a field on my page.

Basically I've created a field group and assigned id's to the members of that group. I then use the get_field('field_name') function to store the value of this field in a variable and echo it on the screen. However this is returning false.

I've also tried using the_field('field_name') but this returns null. I then read somewhere If you are trying to access a field outside of the Wordpress loop you must pass the post id as a parameter to the get_field()/the_field() methods.

I've tried that and still the same result...Does anyone have any idea as to what is the problem?

This is my code:

<?php get_header();
      $postID = get_the_ID();
      the_field('the-title', $postID); //Nothing being returned...
      die(); 
?>
4
Same problem did you ever figured it out? post ID exists, field exist in database i'm echoing get_field and nada. - Michael Rogers

4 Answers

7
votes

If you're using WP_Query() before using get_field(), you need to reset the query using wp_reset_query() function. I hope it'll solve this issue.

4
votes

You're using get_the_ID() outside of the loop.

http://codex.wordpress.org/Function_Reference/get_the_ID

You could try:

global $post;
the_field( 'the-title', $post->ID );

But this would depend on what page you're on.

Which template file is this being used in?

3
votes

You need to create a loop, then inside that loop you can retrieve the data.

<?php while( have_posts() ) : the_post() ?>
     <?php $variable = the_field('the-title'); ?>
<?php endwhile; ?>
1
votes

I had this issue. This was the format of function:

function get_field( $selector, $post_id = false, $format_value = true ) {
  // ...
}

and I used it like this:

get_field( 'event_date', false, false) {
  // ...
}