В WordPress метабоксы пользователей предоставляют удобный способ добавления настраиваемых полей и данных в профили пользователей. Метабоксы можно использовать для сбора дополнительной информации о пользователях, такой как профили в социальных сетях, пользовательские предпочтения или любые другие необходимые вам пользовательские данные. В этой статье мы рассмотрим несколько способов добавления пользовательских метабоксов в WordPress, а также приведем примеры кода.
Метод 1: использование полей профиля пользователя
WordPress предоставляет встроенную функцию полей профиля пользователя, которая позволяет добавлять настраиваемые поля в профили пользователей. Вы можете использовать эту функцию для добавления пользовательских метабоксов. Вот пример фрагмента кода для добавления метабокса с настраиваемым полем:
function custom_user_metabox() {
add_action('show_user_profile', 'render_user_metabox');
add_action('edit_user_profile', 'render_user_metabox');
add_action('personal_options_update', 'save_user_metabox');
add_action('edit_user_profile_update', 'save_user_metabox');
}
function render_user_metabox($user) {
?>
<h3><?php _e('Custom User Metabox', 'text-domain'); ?></h3>
<table class="form-table">
<tr>
<th><label for="custom_field"><?php _e('Custom Field', 'text-domain'); ?></label></th>
<td>
<input type="text" name="custom_field" id="custom_field" value="<?php echo esc_attr(get_user_meta($user->ID, 'custom_field', true)); ?>" class="regular-text" />
</td>
</tr>
</table>
<?php
}
function save_user_metabox($user_id) {
if (!current_user_can('edit_user', $user_id)) {
return;
}
update_user_meta($user_id, 'custom_field', sanitize_text_field($_POST['custom_field']));
}
add_action('admin_init', 'custom_user_metabox');
Метод 2: использование плагина пользовательских метаполей
Если вы предпочитаете решение на основе плагина, вы можете использовать плагин настраиваемых полей, например Advanced Custom Fields или Meta Box. Эти плагины предоставляют интуитивно понятный интерфейс для создания пользовательских метабоксов и управления ими без написания кода.
Метод 3: использование собственного плагина
Другой подход — создать собственный плагин специально для добавления пользовательских метабоксов. Вот пример фрагмента кода для создания плагина и добавления пользовательского метабокса:
/*
Plugin Name: Custom User Metabox
*/
function custom_user_metabox() {
add_action('show_user_profile', 'render_user_metabox');
add_action('edit_user_profile', 'render_user_metabox');
add_action('personal_options_update', 'save_user_metabox');
add_action('edit_user_profile_update', 'save_user_metabox');
}
function render_user_metabox($user) {
?>
<h3><?php _e('Custom User Metabox', 'text-domain'); ?></h3>
<table class="form-table">
<tr>
<th><label for="custom_field"><?php _e('Custom Field', 'text-domain'); ?></label></th>
<td>
<input type="text" name="custom_field" id="custom_field" value="<?php echo esc_attr(get_user_meta($user->ID, 'custom_field', true)); ?>" class="regular-text" />
</td>
</tr>
</table>
<?php
}
function save_user_metabox($user_id) {
if (!current_user_can('edit_user', $user_id)) {
return;
}
update_user_meta($user_id, 'custom_field', sanitize_text_field($_POST['custom_field']));
}
add_action('admin_init', 'custom_user_metabox');
В этой статье мы рассмотрели различные способы добавления пользовательских метабоксов в WordPress. Вы можете использовать встроенные поля профиля пользователя, плагины настраиваемых полей или создать собственный плагин специально для добавления пользовательских метабоксов. Каждый метод обеспечивает гибкость и позволяет расширять профили пользователей настраиваемыми полями данных. Выберите метод, который лучше всего соответствует вашим потребностям, и начните улучшать профили пользователей в WordPress.