【问题标题】:View/update WooCommerce user custom field in admin WP user pages查看/更新管理员 WP 用户页面中的 WooCommerce 用户自定义字段
【发布时间】:2020-09-15 11:12:12
【问题描述】:

我已使用此问题中给出的答案在我的 functions.php 中添加了一个自定义字段:Add a custom field in Woocommerce Edit Account page

我的代码是:

// Add the custom field "ukara"
add_action( 'woocommerce_edit_account_form_start', 'add_ukara_to_edit_account_form' );
add_action( 'show_user_profile', 'add_ukara_to_edit_account_form' );
function add_ukara_to_edit_account_form() {
    $user = wp_get_current_user();
    ?>
        <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
        <label for="ukara"><?php _e( 'Ukara No.', 'woocommerce' ); ?></label>
        <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="ukara" id="ukara" value="<?php echo esc_attr( $user->ukara ); ?>" />
    </p>
    <?php
}

// Save the custom field 'ukara' 
add_action( 'woocommerce_save_account_details', 'save_ukara_account_details', 12, 1 );
function save_ukara_account_details( $user_id ) {
    // For Favorite color
    if( isset( $_POST['ukara'] ) )
        update_user_meta( $user_id, 'ukara', sanitize_text_field( $_POST['ukara'] ) );

}

如何将该字段添加到管理员视图中的用户部分,以便查看该字段的特定用户数据?

【问题讨论】:

    标签: php wordpress woocommerce metadata user-data


    【解决方案1】:

    您的代码中有一些错误。使用以下内容也可以将此用户自定义字段添加/更新到 Wp 用户页面:

    // Add the custom field "ukara" to WooCommerce my account - edit account
    add_action( 'woocommerce_edit_account_form_start', 'add_ukara_to_edit_account_form' );
    function add_ukara_to_edit_account_form() {
        $value = get_user_meta( get_current_user_id(), 'ukara', true );
        ?>
            <p class="woocommerce-form-row woocommerce-form-row--wide form-row form-row-wide">
            <label for="ukara"><?php _e( 'Ukara No.', 'woocommerce' ); ?></label>
            <input type="text" class="woocommerce-Input woocommerce-Input--text input-text" name="ukara" id="ukara" value="<?php echo $value; ?>" />
        </p>
        <?php
    }
    
    // Add the custom field "ukara" to wp user
    add_action( 'show_user_profile', 'add_ukara_to_wp_user_pages' );
    add_action ( 'edit_user_profile', 'add_ukara_to_wp_user_pages' );
    function add_ukara_to_wp_user_pages( $user ) {
        $value = get_user_meta( $user->ID, 'ukara', true );
        ?>
            <table class="form-table"><tr>
                <th><label for="ukara"><?php _e( 'Ukara No.', 'woocommerce' ); ?></label></th>
                <td><input type="text" name="ukara" value="<?php echo esc_attr($value); ?>" class="regular-text" id="ukara" /></td>
            </tr></table><br />
        <?php
    }
    
    // Save the custom field 'ukara'
    add_action( 'woocommerce_save_account_details', 'save_ukara_user_custom_field' );
    add_action ( 'personal_options_update', 'save_ukara_user_custom_field' );
    add_action ( 'edit_user_profile_update', 'save_ukara_user_custom_field' );
    function save_ukara_user_custom_field( $user_id ) {
        if( isset( $_POST['ukara'] ) ) {
            update_user_meta( $user_id, 'ukara', sanitize_text_field( $_POST['ukara'] ) );
        }
    }
    

    代码在您的活动子主题(或活动主题)的functions.php 文件中。经过测试和工作。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-18
      • 1970-01-01
      • 1970-01-01
      • 2019-12-12
      • 2021-05-30
      • 2012-08-24
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多