Hello,
I am having issues with the get_field() function.
It works good in my template parts like header.php, single.php, page.php but does not return any values when I use it in functions.php
For example I copied this code in single.php:
if( isset( $_GET['debug_acf'] ) ){
global $post;
// Have used both field_key and field_name
$data = get_field( 'field_key', $post->ID );
// Prints out the data
print_r( $data );
}
This works, but when I copy the code inside functions.php:
if( isset( $_GET['debug_acf'] ) ){
global $post;
// Have used both field_key and field_name
$data = get_field( 'field_key', $post->ID );
// Prints out nothing
print_r( $data );
// Function does exist
if( function_exists('get_field') )
echo 'get_field() exists';
}
The post ID is correct in both parts of the code, $data in my case is repeater data. But it does not work with normal text fields either.
I am using ACF version: 4.2.2
Repeater version: 1.0.1
Got Gravity Forms activated and Admin Menu Editor plugin.
Hi @Icethrill
Unfortunaltey, ACF needs to get past the init action for it to work (get_field / any api function)
I’m hoping to find a work around in the future, but for now if you move your code within an action (init or later), then your value will work as expected!
Sorry for the confusion.
Cheers
E
Alright, then I thought it was something like that. Thanks Elliot for the quick support!