0

I am going absolutely insane with this one, I cannot for the life of me figure out why I am not receiving the string content.

var_dump is outputting the correct result perfectly, yet the content for $havemeta is empty. Really need some input.

add_action( 'woocommerce_before_main_content', 'shopping_location_text', 10 );
    global $current_user;
    get_currentuserinfo(); // wordpress global variable to fetch logged in user info
    $userID = $current_user->ID; // logged in user's ID
    $havemeta = get_user_meta($userID, 'location_select', true); // stores the value of logged in user's meta data for 'location_select'.
    var_dump($havemeta);

        function shopping_location_text() {
          if( is_shop() ) {
            print '<p class="shopping-location-text">YOUR ARE CURRENTLY SHOPPING IN <span style="FONT-WEIGHT: 700;COLOR: #fa4516;">' . $havemeta . '</span></p>';
          }
}
  • Does the "YOUR ARE CURRENTLY SHOPPING" text display? – Jacob Peattie Aug 20 at 4:06
  • Yes perfectly! That is what is driving me insane. – BruceBrain21 Aug 20 at 4:09
1

The $havemeta variable isn't defined inside your shopping_location_text() function, so it isn't available for use there.

For a quick fix (or for testing/toying) you can move your code inside the function, like this:

add_action( 'woocommerce_before_main_content', 'shopping_location_text', 10 );
function shopping_location_text() {
    global $current_user;
    get_currentuserinfo(); // wordpress global variable to fetch logged in user info
    $userID = $current_user->ID; // logged in user's ID
    $havemeta = get_user_meta($userID, 'location_select', true); // stores the value of logged in user's meta data for 'location_select'.
    //var_dump($havemeta);
    if( is_shop() ) {
        print '<p class="shopping-location-text">YOUR ARE CURRENTLY SHOPPING IN <span style="FONT-WEIGHT: 700;COLOR: #fa4516;">' . $havemeta . '</span></p>';
    }
}
  • You my friend are amazing. Thank you so much, that fixed it! – BruceBrain21 Aug 20 at 4:57
  • Happy to hear it! :) – Steven Aug 20 at 5:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.