Пожалуйста, проверьте код для создания Metabox с именем Company Address, например, пользовательский тип поста продавца.
Добавлен адрес компании Meta Box для персонализированного типа поста продавца:
/**
* Meta box company address for seller custom post type added
*/
function wdbs_add_seller_metaboxes() {
add_meta_box(
'wdbs_seller_company_address',
'Company Address',
'wdbs_seller_company_address',
'seller',
'normal',
'default'
);
}
add_action( 'add_meta_boxes', 'wdbs_add_seller_metaboxes' );
Meta box адрес компании html:
/**
* Meta box field company address html
*/
function wdbs_seller_company_address() {
global $post;
wp_nonce_field( basename( __FILE__ ), 'seller_fields' );
$company_address = get_post_meta( $post->ID, 'company_address', true );
echo '<textarea type="text" name="company_address" class="widefat" rows="6">' . esc_textarea( $company_address ) . '</textarea>';
}
Сохранить метаполя продавца:
/**
* SAVE SELLER METAFIELDS
* Saves values for company address meta field
*/
function wdbs_save_seller_meta( $post_id, $post ) {
// Return if the user doesn't have edit permissions.
if ( ! current_user_can( 'edit_post', $post_id ) ) {
return $post_id;
}
if ( ! isset( $_POST['company_address'] ) || ! wp_verify_nonce( $_POST['seller_fields'], basename(__FILE__) ) ) {
return $post_id;
}
$seller_meta['company_address'] = esc_textarea( $_POST['company_address'] );
foreach ( $seller_meta as $key => $value ) :
if ( 'revision' === $post->post_type ) {
return;
}
if ( get_post_meta( $post_id, $key, false ) ) {
update_post_meta( $post_id, $key, $value );
} else {
add_post_meta( $post_id, $key, $value);
}
if ( ! $value ) {
delete_post_meta( $post_id, $key );
}
endforeach;
}
add_action( 'save_post', 'wdbs_save_seller_meta', 1, 2 );