Home > Enterprise >  Why function with get_field returns NULL?
Why function with get_field returns NULL?

Time:12-19

I don't understand why a function with get_field inside returns an error, while get_field without the function works fine.

$args = [
    'taxonomy'      => 'product_cat',
    'parent'         => 88,
];

$prod_cats = get_terms( $args );

function getImageId(){
    var_dump( get_field( 'image', $prod_cats[0] ) );
}

getImageId(); // NULL
var_dump( get_field( 'image', $prod_cats[0] ) ); // int(1854)

I expect getImageId() to return int(1854).

CodePudding user response:

I think the variable $prod_cats is not in the same scope as the function getImageId. Inside the function, $prod_cats is also not defined, and therefore it is NULL. Try passing the $prod_cats as an argument to the function:

$args = array(
    'taxonomy' => 'product_cat',
    'parent'   => 88,
);

$prod_cats = get_terms( $args );

function getImageId( $prod_cats ) {
    var_dump( get_field( 'image', $prod_cats[0] ) );
}

getImageId( $prod_cats ); // int(1854)
  • Related