Support » Plugin: Advanced Custom Fields » [Plugin: Advanced Custom Fields] get_field() returning 'false' in functions.php

  • Resolved daphatmac


    Hey mate – I’ve been having weird issues with the get_field() function since 3.4.1 (and 3.4.2) – I was hoping that you could spare 5 minutes to clarify if this is me, or an issue.

    Basically, I have some simple housekeeping functions that I run in my theme’s functions.php file and up to 3.4.1, they worked fine, but since the latest updates, instead of actual data, I’m getting ‘false’ returned for get_field() calls, but ONLY for those that I make in the functions.php file. Any calls to get_field() in the rest of the site work fine.

    I’ve done some quick digging and I’ve noticed that if I do a var_dump($this->fields); in the get_value_for_api() function, I get ‘null’ instead of the object containing the registered field types. If I do a var_dump at the init of the plugin, the $acf->fields object seems to be set OK, but by the time it gets to the get_value_for_api() call it seems to be set to ‘null’ – obviously that then returns ‘false’ for the whole get_field() call.

    I’d really appreciate any ideas you might have on this. I thought maybe that a custom field type that I use might have been incompatible with the updates, and disabled it, but there was no difference.

    Thanks in advance!



Viewing 4 replies - 1 through 4 (of 4 total)
  • Hmmm. I’ve rolled back to 3.2.0 and a previous version of my DB and I’m still having similar issues. Let me check it out some more and I’ll get back to you.

    Thanks & great plugin BTW!

    Yeah, it seems that $acf is only partly instantiated by the time I need it in functions.php. If I global it, I can get to it, but it’s clearly not initialized in full yet. I hadn’t noticed it before because I had some fallback code in case of an empty return from the get_field(), which was covering for it.

    I’ve done some searching and apparently plugins are loaded and init’ed before the functions.php file, so I should have access to the ACF methods in full. Is there any way to make sure the fields are registered and the plugin is fully available, or is this just a limitation of WP?

    Thanks again!

    Hi there, i’m also interesting this..

    I’m using wp_localize_script to pass variables into my main.js file.
    when i console.log() the variable nothing logs.


    sample code;
    PHP inside function.php

    $vimeo_embed = get_field('vimeo_embed');
    wp_localize_script( 'main', 'wp', array( 'HOME_VIMEO_EMBED_SCRIPT' => $vimeo_embed));


    Plugin Author elliotcondon


    Hi Guys,

    All ACF API calls need to happen in an action after init.

    Use wp_head or admin_head or any other actions here:

    Good luck

Viewing 4 replies - 1 through 4 (of 4 total)
  • The topic ‘[Plugin: Advanced Custom Fields] get_field() returning 'false' in functions.php’ is closed to new replies.