WooCommerce / Wordpress

问题描述

我有一个插件,可以将自定义字段添加到WooCommerce帐户页面。以下面的apikey字段为例(这只是一个随机字段,可以是任何内容

add_action( 'woocommerce_edit_account_form','add_api_info_to_account_form' );
function add_api_info_to_account_form() {
  $user = wp_get_current_user();
  ?>
  <fieldset>
    <legend><?PHP esc_html_e( 'GHL/MBO Sync','woocommerce' ); ?></legend>

    <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
        <label for="apikey"><?PHP _e( 'MBO API Key','woocommerce' ); ?></label>
        <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" 
         name="apikey" id="apikey" value="<?PHP echo esc_attr( $user->apikey ); ?>" />
    </p>

每当我进入个人资料页面时,都会看到$ user-> apikey值是从 wp_get_current_user()

加载的

但是,在我的另一个文件中,我试图使用 get_users()访问每个用户的API密钥,并且不会返回apikey信息。

是否可以通过所有用户数组返回这样的自定义字段

这是第二个文件中的代码

$users = get_users();
print_r($users);

它返回一个大数组,但没有apikey字段

解决方法

欢迎使用stackoverflow,要加载用户元数据(自定义字段),您需要使用此函数get_user_meta($ user_id,$ meta_key)。

简单点说,就是获得用户API密钥以使用此行

global $current_user; 
$user_api_key = get_user_meta($current_user->id,'apikey' );

您可以将$ user_api_key放置在要显示apikey的任何位置。 请尝试一下,让我知道它是否适合您。我在这里为您提供帮助。