@msdoc11

Как сохранить кастомные выбранные чекбоксы в профиле wordpress?

Создал кастомные чекбоксы для админки пользователей. Как сохранять выбранные значения?
/* добавление поля в профиле*/
add_action( 'show_user_profile', 'add_extra_check' );
add_action( 'edit_user_profile', 'add_extra_check' );
 
function add_extra_check( $user )
{
?>
<h3>Дополнительные данные пользователя</h3>

     <?
$checkbox = array (
    "Название 1",
    "Название 2",
    "Название 3",
              );
foreach ($checkbox as $title) {
  ?>
  <label><input type='checkbox' name='checkbox' value='<?php echo esc_attr(get_the_author_meta( 'checkbox', $user->ID )); ?>' /><? echo $title ?></label>
  <?
}
?>

<?php
}
 
// сохранение
 
add_action( 'personal_options_update', 'save_extra_check' );
add_action( 'edit_user_profile_update', 'save_extra_check' );
  • Вопрос задан
  • 137 просмотров
Пригласить эксперта
Ответы на вопрос 1
init0
@init0
Старый моряк
Вам нужно изменить атрибут чекбокса name на разные значения, иначе сохранится только последний. В коде ниже тоже это отразить соответственно.

function save_extra_check( $user_id )
{
    if ( isset( $_POST['checkbox'] ) && current_user_can( 'edit_user', $user_id ) ) {
        update_user_meta( $user_id, 'checkbox', sanitize_text_field( $_POST['checkbox'] ) );
    }
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы