Intereting Posts
Как я могу использовать оператор if? Проблемы с использованием 'add_role' Использование wp_register_style для загрузки CSS в нижнем колонтитуле? Каков наилучший способ перенаправления на новый сайт WordPress? Как перенаправить теги с старого сайта Joomla на новый сайт WordPress? Обновление данных post для сохранения (save_post vs wp_insert_post_data) Вставьте учетную запись пользователя в мою собственную таблицу пользователей вместо собственного пользователя Я не могу изменить цвет фона тела через style.css Последние сообщения с миниатюрами Повторите использование таблицы списков для персонализированного типа сообщения на другой странице Сделайте WordPress для поиска только этих тегов или исключите определенные теги из поиска Добавление настраиваемой страницы администрирования Запросные сообщения с двойной таксономией Конкретный размер изображения генерируется без регистрации Как установить значение по умолчанию в качестве сохраненного значения после сохранения формы виджета?

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

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

<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