1

我正在为多供应商网站使用 dokan 插件。我想在 dokan 供应商设置页面中添加一些额外的字段。我用这个

add_filter( 'dokan_settings_form_bottom', 'extra_fields', 10, 2);


function extra_fields( $current_user, $profile_info ){


$seller_url= isset( $profile_info['seller_url'] ) ? 
$profile_info['seller_url'] : '';?>

    <label class="dokan-w3 dokan-control-label" for="setting_address">

        <?php _e( 'Website', 'dokan' ); ?>

    </label>

    <div class="dokan-w5">

        <input type="text" class="dokan-form-control input-md valid" name="seller_url" id="reg_seller_url" value="<?php echo $seller_url; ?>" />

    </div>

</div>



<?php }
//save the field value


add_action( 'dokan_store_profile_saved', 'save_extra_fields', 15 );

function save_extra_fields( $store_id ) {

if ( isset( $_POST['seller_url'] ) ) {

    $dokan_settings = dokan_get_store_info($store_id);

    $dokan_settings['seller_url'] = $_POST['seller_url'];

}

update_user_meta( $store_id, 'dokan_profile_settings', $dokan_settings 
 );

  }

但是当我使用它时,我无法更新付款方式。请帮助我

谢谢

4

2 回答 2

5

您可以尝试这种方式来保存归档的值,它应该可以解决您的问题 -

add_action( 'dokan_store_profile_saved', 'save_extra_fields', 15 );

function save_extra_fields( $store_id ) {
    $dokan_settings = dokan_get_store_info($store_id);
    if ( isset( $_POST['seller_url'] ) ) {
    $dokan_settings['seller_url'] = $_POST['seller_url'];
}
 update_user_meta( $store_id, 'dokan_profile_settings', $dokan_settings );

}

如果代码有效,那么我希望您将此主题标记为已解决!

于 2018-06-21T06:27:29.957 回答
2

我已经尝试过这段代码 - https://gist.github.com/nayemDevs/b629d4b1c27c794bdfb729ce6927069e#file-extra-field-php它对我有用。但是,我已经检查了 Dokan 主题和 Hestia pro 主题。你检查是否有任何主题冲突?

于 2018-06-20T16:09:27.897 回答