Сохранение статуса флажка/списка опций?
Моя самодельная панель администратора работает просто отлично, но она не сохраняет значения входных данных формы.
Когда я ввожу что-то в текстовое поле и нажимаю "сохранить", оно все еще там после обновления, благодаря PHP:
<input type="text" name="header" value="<?php echo get_option('header'); ?>" />
Таким образом, PHP передает свое собственное значение на вход, и все в порядке. Но что делать, если у меня есть список из 10 переключателей или просто флажок?
На данный момент у меня есть такой флажок:
<input type="checkbox" name="showS" value="true">
И после нажатия на него и сохранения - он все еще "незакрыт".
Какая-нибудь помощь была?
2 answers
На самом деле это просто html-вопрос, не относящийся к WordPress. Посмотрите в checked="checked"
(для флажков) или selected="selected"
(для выбора, переключателей и т.д.) В вашем случае
<input type="checkbox" name="showS" value="true"
<?php if (get_option('showS')==true) echo 'checked="checked" '; ?>>
Однако, поскольку это WordPress, я также должен напомнить вам, чтобы вы использовали API настроек, где это возможно. Не пытайтесь самостоятельно очистить и проверить все входные данные, если вы действительно не знаете, что делаете. Вот ссылка на учебник по настройкам API:
Это может быть вопрос, ориентированный на HTML, но, как оказалось, в WordPress есть некоторые вспомогательные функции для работы с флажками, выпадающими списками выбора, отключенными входами и т. Д.
Http://sillybean.net/2010/09/wordpress-hidden-gems-checked-selected-and-disabled/
Рарст также указал на это в своем комментарии.
Я всегда использую их сейчас, они выглядят более элегантно, чем написанные самостоятельно альтернативные методы.