@ko4ylab

Как решить проблему при создании админ панели для темы WordPress?

Здравствуйте друзья, помогите пожалуйста.
У меня такая проблема: я создаю тему с админ панелью. В админ панели создал несколько полей, через которые буду передавать данные на сайт.
Но писать поля полностью займет очень много места и файл будет очень много занимать.
Я создал функцию, а потом обращаюсь к ней из места, где хочу вывести определенное поле.
function get_image_field( $field, $field_name, $button_id ) {
?>
<label for="r_options[<?php echo $field; ?>]"><?php echo $field_name; ?></label>
<input type="text" id="r_options[<?php echo $field; ?>]" class="upload_image" name="r_options[<?php echo $field; ?>]" value="<?php echo esc_attr( $options[$field] ); ?>" />
<input type="button" id="<?php echo $button_id; ?>" class="upload_image_button" value="Upload" />
<?php
}

Если я использую функцию, то данные отправляются через форму, но не сохраняются в поле, не понимаю почему это так?
Если же писать для каждого поля без использования функции код с label, input и button, то это займет очень много места, но при таком подходе при отправки формы данные сохраняются в поле.
То есть при таком коде данные сохраняются, но это без функции.
<label for="r_options[r_logo_url]">Upload Logo</label>
<input type="text" id="r_options[r_logo_url]" class="upload_image" name="r_options[r_logo_url]" value="<?php echo esc_attr( $options['r_logo_url'] ); ?>" />
<input type="button" id="r_logo_upload_button" class="upload_image_button" value="Upload" />

Первый скрин (без использования функции):
i.pixs.ru/storage/2/7/0/Snimokekra_6578211_10904270.png
Второй скрин (с использованием функции):
i.pixs.ru/storage/2/7/5/Snimokekra_2571682_10904275.png
На рисунках видно, что в первом случае данные отправляются и сохраняются в полях, а во втором данные только отправляются.
Прошу Вашей помощи. Буду очень благодарен.
  • Вопрос задан
  • 2936 просмотров
Пригласить эксперта
Ответы на вопрос 1
mannaro
@mannaro
Умею профессионально гуглить
откройте отрендеренный HTML и сравните его с нужным кодом.
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы