Intereting Posts
Получение 404 в Javascript Перезапуск страницы страницы архива будет отличаться от пользовательского типа сообщений Как настроить рабочие области с помощью Chrome & WordPress? Исключить пользовательский тип сообщения из общей пользовательской таксономии Запрос пользовательских полей в форме поиска Получить условия для сообщений с одним запросом Условный двухуровневый выпадающий фильтр для настраиваемого типа сообщений Нежелательный разрыв строки перед <input> Неверный URL-адрес wp-admin Использовать крючки для действий администратора отменить / повторить? интерактивная диаграмма с положительным результатом Как добавить пользовательскую функцию для добавления / обновления продукта? Скрыть ссылки категории, если в категориях нет ничего – элемент подменю Главная Навигация Создание мета при создании термина с wordpress api Я переместил мой сайт на другой сервер, wp admin работает так же, как и на первой странице, но сообщения не работают

создание настраиваемого мета-поля со значением по умолчанию

Я создаю пользовательскую панель администратора, где администратор может выбирать между 3 макетами с помощью переключателей. Все работает отлично, за исключением случаев, когда администратор создает новую страницу, а опция по умолчанию отсутствует.

Я решил это, используя:

if ($layout == "") { $layout = "layout_1"; } 

Я надеюсь, что кто-то может помочь мне с лучшим решением для настройки значения по умолчанию для вновь созданных страниц мета

Вот полный код:

 function page_layout_metabox(){ add_meta_box( 'page_layout_selector', 'Page Settings', 'page_layout_selector', 'page', 'normal', 'high' ); } function page_layout_selector(){ $layout = get_post_meta(get_the_ID(), 'layout', true); //set default if ($layout == "") { $layout = "layout_1"; } ?> <div id="page_layout_container"> <p id="page_layout_title">Page layout</p> <div class="radio_container"> <div class="form"> <label> <input type="radio" name="layout" id="layout_1" value="layout_1" <?php if ($layout == "layout_1" ) echo "checked";?>> <div class="radio" id="layout_1"> <span class="icon-on"></span> </div> </label> </div> <div class="form"> <label> <input type="radio" name="layout" id="layout_2" value="layout_2" <?php if ($layout == "layout_2" ) echo "checked";?>> <div class="radio" id="layout_2"> <span class="icon-on"></span> </div> </label> </div> <div class="form"> <label> <input type="radio" name="layout" id="layout_3" value="layout_3" <?php if ($layout == "layout_3" ) echo "checked";?>> <div class="radio" id="layout_3"> <span class="icon-on"></span> </div> </label> </div> </div> </div> 

Solutions Collecting From Web of "создание настраиваемого мета-поля со значением по умолчанию"

Да. Кажется, все правильно. Но я бы предпочел –

 if (empty($layout)) { $layout = "layout_1"; } 

вместо этого-

 if ($layout == "") { $layout = "layout_1"; } 

Это предпочтительный метод проверки, является ли переменная пустой или нет. И я бы тоже предпочел –

 if ($layout === "layout_1" ) echo "checked" if ($layout === "layout_2" ) echo "checked" if ($layout === "layout_3" ) echo "checked" 

Вместо этого-

 if ($layout == "layout_1" ) echo "checked" if ($layout == "layout_2" ) echo "checked" if ($layout == "layout_3" ) echo "checked" 

В противном случае это кажется вполне нормальным. Надеюсь, что это поможет тебе.