Intereting Posts
Запрос пользователя WP с контактной формой 7 Может ли Nginx WordPress multisite использовать как субдомен, так и подкаталог в каждом экземпляре? Пользовательский заказ запроса wp не в пользовательском поле Как установить метабокс по умолчанию при создании пользователя? angularjs не отображает все сообщения Загружать случайные сообщения без обновления страницы (jQuery)? Настройки виджета исчезают после обновления страницы Является ли использование таксономий способ пойти сюда или будет ли пользовательский тип сообщений лучше? Я хочу получить персонализированный пост с идентификатором таксономии Только отображение только одной миниатюры Что мне делать? Многоуровневый, один веб-сайт или множество веб-сайтов? как настроить плагин hello dolly? Копирование сайта WordPress, КАК о соединении БД? Вставить «Новый пользователь» и одновременно обновить / установить метаданные Синхронизировать обновления с существующими подписками

Измените отображение API настроек (do_settings_sections)

Я работаю над плагином, который использует API настроек WordPress. Я замечаю, что функции do_settings_sectionsdo_settings_fields ) отображают поля с помощью TABLE. Как изменить форматирование? (Я хочу использовать DIV вместо TABLE)

Solutions Collecting From Web of "Измените отображение API настроек (do_settings_sections)"

Нет никаких do_settings_sections() для изменения вывода do_settings_sections() .

Следовательно, единственный вариант, который у вас есть, – написать пользовательские версии функций do_settings_sections() и do_settings_fields() . Они расположены в /wp-admin/includes/template.php , строках 1159-1174 и 1190-1207 (wordpress версии 3.2.1) соответственно ( не изменяйте их там).

Вы могли бы (не сказать, что это обязательно целесообразно, подумайте о совместимости с будущими версиями wp), включите что-то вроде этого в ваш плагин:

 function custom_do_settings_sections($page) { global $wp_settings_sections, $wp_settings_fields; if ( !isset($wp_settings_sections) || !isset($wp_settings_sections[$page]) ) return; foreach( (array) $wp_settings_sections[$page] as $section ) { echo "<h3>{$section['title']}</h3>\n"; call_user_func($section['callback'], $section); if ( !isset($wp_settings_fields) || !isset($wp_settings_fields[$page]) || !isset($wp_settings_fields[$page][$section['id']]) ) continue; echo '<div class="settings-form-wrapper">'; custom_do_settings_fields($page, $section['id']); echo '</div>'; } } function custom_do_settings_fields($page, $section) { global $wp_settings_fields; if ( !isset($wp_settings_fields) || !isset($wp_settings_fields[$page]) || !isset($wp_settings_fields[$page][$section]) ) return; foreach ( (array) $wp_settings_fields[$page][$section] as $field ) { echo '<div class="settings-form-row">'; if ( !empty($field['args']['label_for']) ) echo '<p><label for="' . $field['args']['label_for'] . '">' . $field['title'] . '</label><br />'; else echo '<p>' . $field['title'] . '<br />'; call_user_func($field['callback'], $field['args']); echo '</p></div>'; } }