Add Custom Fields to the "New Subaccount" Section.

You may want to add custom fields connected to user meta keys, available when a new subaccount is created or edited.

You can use the following snippet:

add_action('b2bking_custom_new_subaccount_fields', function($user_id = 0){

	<div class="b2bking_subaccounts_new_account_container_content_element">
		<div class="b2bking_subaccounts_new_account_container_content_element_label">
			<?php esc_html_e('Store Code','b2bking'); ?>
		<input type="text" class="b2bking_subaccounts_new_account_container_content_element_text" name="b2bking_store_code" placeholder="<?php esc_attr_e('Enter the store code here...','b2bking'); ?>" <?php if($user_id !== 0){echo 'value="'.esc_html(get_user_meta($user_id,'storecode', true)).'"';}?>>
	<div class="b2bking_subaccounts_new_account_container_content_element b2bking_subaccount_horizontal_line">
		<div class="b2bking_subaccounts_new_account_container_content_element_label">
			<?php esc_html_e('Store ID','b2bking'); ?>
		<input type="text" class="b2bking_subaccounts_new_account_container_content_element_text" name="b2bking_store_id" placeholder="<?php esc_attr_e('Enter the store id here...','b2bking'); ?>"  <?php if($user_id !== 0){echo 'value="'.esc_html(get_user_meta($user_id,'storeid', true)).'"';}?>>

add_filter('b2bking_custom_new_subaccount_field_names', function($fields){
	$fields = array('b2bking_store_code', 'b2bking_store_id');
	return $fields;
}, 10, 1);

add_filter('b2bking_custom_field_meta', function($field_name){
	// you can set a custom user meta key here
	if ($field_name === 'b2bking_store_code'){
		$field_name = 'storecode';
	if ($field_name === 'b2bking_store_id'){
		$field_name = 'storeid';
	return $field_name;
}, 10, 1);

Explaining the snippet:

  • The first action in the snippet adds the HTML for the fields
  • Then in the filter you must enter the names of the custom field(s)
  • Finally, this is optional, the last filter ties each name to a specific user meta key

This snippet adds 2 fields there visually:

These fields are connected to the 'storecode' and 'storeid' user meta keys in our example.

Powered by BetterDocs