Intereting Posts
изображение в RSS-ленте Как отключить боковую панель только в bbPress, а не WordPress? Выбор страниц для отображения пользовательского типа сообщений при использовании флажка Выбирать все сообщения, в которых зарегистрированный пользователь прокомментировал Создание настраиваемого поля при активации темы не удалось отфильтровать hook `get_terms_defaults` Миниатюры для пользовательских сообщений, которые не отображаются в запросе Как переместить шаблон страницы в пользовательскую папку? Отображать избранные изображения из пользовательского типа сообщения в шаблоне главной страницы 500 при обновлении опции плагина запрос для создания продуктов woocommerce из изображений Версия плагина не обновлена ​​с новой версией Использование глобальной $ post; для получения отображаемого изображения для персонализированного сообщения через WP_Query Не удалось просмотреть отдельную запись, которая была на моем веб-сайте Как изменить ярлык «Комментарии» на «Обзор» повсюду в WP-установке без перевода

Создание страницы параметров темы

В настоящее время я использую страницу параметров темы WordPress для примера WordPress, которую я хочу использовать, чтобы создать поле ввода и два текстовых поля.

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

Кто-нибудь знает, что я делаю неправильно?

Вот код, который я использую сейчас:

<?php add_action('admin_init', 'theme_options_init'); add_action('admin_menu', 'theme_options_add_page'); /** * Init plugin options to white list our options */ function theme_options_init() { register_setting('schema_options', 'schema_theme_options', 'theme_options_validate'); } /** * Load up the menu page */ function theme_options_add_page() { add_theme_page(__('Theme Options', 'schema'), __('Theme Options', 'schema'), 'edit_theme_options', 'theme_options', 'theme_options_do_page'); } /** * Create the options page */ function theme_options_do_page() { if (!isset($_REQUEST['settings-updated'])) $_REQUEST['settings-updated'] = false; ?> <div class="wrap"> <?php echo "<h2>" . get_current_theme() . __(' Theme Options', 'schema') . "</h2>"; ?> <?php if (false !== $_REQUEST['settings-updated']): ?> <div class="updated fade"> <p><strong><?php _e('Options saved', 'schema'); ?></strong></p> </div> <?php endif; ?> <form method="post" action="options.php"> <?php settings_fields('schema_options'); ?> <?php $options = get_option('schema_theme_options'); ?> <table class="form-table"> <?php /** * A sample text input option */ ?> <tr valign="top"> <th scope="row"><?php _e('Some text', 'schema'); ?></th> <td><input id="schema_theme_options[typekit]" class="regular-text" type="text" name="schema_theme_options[typekit]" value="<?php esc_attr_e($options['typekit']); ?>" /> <label class="description" for="schema_theme_options[typekit]"> <?php _e('Sample text input', 'schema'); ?> </label></td> </tr> <?php /** * A sample textarea option */ ?> <tr valign="top"> <th scope="row"><?php _e('A textbox', 'schema'); ?></th> <td><textarea id="schema_theme_options[metadescription]" class="large-text" cols="50" rows="10" name="schema_theme_options[metadescription]"><?php echo esc_textarea($options['metadescription']); ?></textarea> <label class="description" for="schema_theme_options[metadescription]"> <?php _e('Sample text box', 'schema'); ?> </label></td> </tr> <?php /** * A sample textarea option */ ?> <tr valign="top"> <th scope="row"><?php _e('A textbox2', 'schema'); ?></th> <td><textarea id="schema_theme_options[homedescription]" class="large-text" cols="50" rows="10" name="schema_theme_options[homedescription]"><?php echo esc_textarea($options['homedescription']); ?></textarea> <label class="description" for="schema_theme_options[homedescription]"> <?php _e('Sample tex2t box', 'schema'); ?> </label></td> </tr> </table> <p class="submit"> <input type="submit" class="button-primary" value="<?php _e('Save Options', 'schema'); ?>" /> </p> </form> </div> <?php } /** * Sanitize and validate input. Accepts an array, return a sanitized array. */ function theme_options_validate($input) { // Say our text option must be safe text with no HTML tags $input['typekit'] = wp_filter_nohtml_kses($input['typekit']); // Say our textarea option must be safe text with the allowed tags for posts $input['metadescription'] = wp_filter_post_kses($input['metadescription']); $input['homedescription'] = wp_filter_post_kses($input['homedescription']); return $input; } 

Я проверил код, который вы разместили, и не нашел никаких проблем. Затем я скопировал его в функции functions.php моей темы, это сработало для меня. Появятся обе текстовые области, и данные могут быть сохранены.

Не совсем уверен, что это будет лучший способ ответить на мой собственный вопрос. Как сказано @ goto10 и @maisdesign, в этом фрагменте кода нет ничего плохого.

Однако выше статья использует require_once для загрузки theme-options.php . Использование include_once(get_stylesheet_directory() . '/theme-options.php'); однако решила проблему.