尽管VAR_DUMP显示了正确的字符串,但用户元值未回显

时间:2019-08-20 作者:BruceBrain21

这一次我简直疯了,我一辈子都搞不明白为什么我没有收到字符串内容。

var\\u dump完美地输出了正确的结果,但是$havemeta的内容是空的。真的需要一些投入。

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>\';
          }
}

1 个回复
最合适的回答,由SO网友:Steven 整理而成

这个$havemeta 变量未在shopping_location_text() 函数,因此无法在那里使用。

为了快速修复(或测试/玩弄),您可以将代码移动到函数中,如下所示:

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>\';
    }
}

相关推荐

Php文件子主题目录不覆盖父主题php文件

我正在尝试在主题/woocommerce/布局产品/网格中自定义html。php,我已经将该文件从父主题复制到了子主题/woocommerce/layout products/grid。php,但没有任何效果。从我在这里找到的答案中,我了解到有时候复制php文件是可行的,有时候不行?我也为这个文件尝试了一次require\\u,但这破坏了整个WordPress。如何自定义产品网格html?