我正在为多供应商网站使用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
);
}
但是当我使用这个时,我无法更新付款方式。请帮助我
由于
答案 0 :(得分:2)
我已经尝试过此代码-https://gist.github.com/nayemDevs/b629d4b1c27c794bdfb729ce6927069e#file-extra-field-php,并且对我有用。但是,我已经检查了Dokan主题和Hestia专业主题。您是否检查了主题冲突?
答案 1 :(得分:1)
您可以尝试通过这种方式保存字段值,它应该可以解决您的问题-
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 );
}
如果代码有效,那么我希望您将此主题标记为已解决!