Почему флажок не сохранен на странице профиля пользователя?

Я добавил новые параметры на странице профиля пользователя. Я добавил флажок, но он не сохраняется, если отмечены все несколько параметров.

<input type="checkbox" name="neww" class="neww" value="one"<?php checked(get_the_author_meta( 'neww', $user->ID ),'one' ); ?> /> <span class="description">option one</span><br/> <input type="checkbox" name="neww" class="neww" value="two"<?php checked(get_the_author_meta( 'neww', $user->ID ),'two' ); ?> /> <span class="description">option two</span><br/> <input type="checkbox" name="neww" class="neww" value="three"<?php checked(get_the_author_meta( 'neww', $user->ID ),'three' ); ?> /> <span class="description">option three</span><br/> 

Когда я var_dump, чтобы увидеть, что сохранено, он сохраняет только последний отмеченный элемент. Почему это происходит? При сохранении с настройками параметров реестра я не экспериментировал. может ли кто-нибудь сообщить мне разницу?

благодаря

Solutions Collecting From Web of "Почему флажок не сохранен на странице профиля пользователя?"

Когда вы передаете три отдельных значения для neww, значение становится последним. Поэтому neww должен был быть массивом для сбора всех трех: neww []

 <input type="checkbox" name="neww[]" class="neww" value="one" /> <input type="checkbox" name="neww[]" class="neww" value="two" /> <input type="checkbox" name="neww[]" class="neww" value="three" /> 

Но поскольку get_the_author_meta возвращает значения метаданных пользователя как строку, данные там не смогут быть сохранены и возвращены как массив. Поэтому, если они хранятся как отдельные значения (т. Е. Вам нужны все три возможности), вам нужно будет назвать каждый флажок другим именем:

 <input type="checkbox" name="neww1" class="neww" value="one" /> <input type="checkbox" name="neww2" class="neww" value="two" /> <input type="checkbox" name="neww3" class="neww" value="three" /> 

При использовании флажков пользователь может выбрать один, один или несколько. Поэтому, если вы сохраняете мета значение здесь как строку и только собираете один возможный ответ, вам нужна радиогруппа, в которой может быть выбран только один выбор. Тогда вы сможете сделать это так:

 <input type="radio" name="neww" value="one" <?php checked( $neww, 'one' ); ?> /> One<br /> <input type="radio" name="neww" value="two" <?php checked( $neww, 'two' ); ?> /> Two<br /> <input type="radio" name="neww" value="three"<?php checked( $neww, 'three' ); ?> /> Three