Функция ADD_SETTINGS_SECTION() в WordPress
Введение
Функция add_settings_section() позволяет добавить новый раздел на страницу настроек в WordPress. Эта функция является частью API настроек и помогает организовать настройки, делая их более удобными для пользователя. В этой статье мы рассмотрим, как использовать эту функцию и какие параметры она принимает.
Синтаксис
Функция вызывается следующим образом:
add_settings_section( $id, $title, $callback, $page, $args );
Параметры функции
$id(string, обязательный): Уникальное имя раздела. Используется для идентификации раздела на странице настроек.$title(string, обязательный): Заголовок раздела, который будет отображаться на странице настроек.$callback(callable, обязательный): ��ункция, которая выводит содержимое вверху раздела. Это может быть любая информация, которую вы хотите показать перед настройками.$page(string, обязательный): Слаг (идентификатор) страницы настроек, на которой будет показан раздел. Стандартные страницы включаютgeneral,reading,writing,discussion,mediaи другие. Вы можете создать свою страницу с помощью функцииadd_options_page().$args(array, необязательный): Массив аргументов, используемых для создания HTML-контента раздела.
Аргументы $args
По умолчанию $args принимает пустой массив. Вы можете задать дополнительные параметры, такие как:
before_section(string): HTML-контент, который будет добавлен перед выводом раздела. Получает имя класса раздела как%s.after_section(string): HTML-контент, который будет добавлен после вывода раздела.section_class(string): Имя класса для раздела.
Пример использования
Пример 1: Добавление раздела настроек
Давайте рассмотрим простой пример использования add_settings_section():
add_settings_section(
'eg_setting_section',
__( 'Пример раздела настроек', 'textdomain' ),
'wpdocs_setting_section_callback_function',
'reading'
);
/**
* Функция обратного вызова для отображения раздела настроек.
*
* @param array $args Аргументы для отображения.
*/
function wpdocs_setting_section_callback_function( $args ) {
// Здесь выводим текст
echo 'ID раздела: ' . esc_html( $args['id'] ) . '
';
echo 'Заголовок: ' . apply_filters( 'the_title', $args['title'] ) . '
';
echo 'Функция обратного вызова: ' . esc_html( $args['callback'] ) . '
';
}
В этом примере мы добавили новый раздел с идентификатором eg_setting_section на страницу чтения. Мы также создали функцию для вывода дополнительного текста в разделе.
Пример 2: Использование в ООП
В следующем примере мы покажем, как использовать add_settings_section() в объектно-ориентированном программировании (ООП):
class CustomSetting {
function __construct() {
add_action('admin_init', array($this, 'wp_setting_init'));
}
function wp_setting_init() {
// Регистрируем новое поле для страницы "Чтение"
register_setting('reading', 'page_limit');
// Регистрируем новый раздел на странице "Чтение"
add_settings_section(
'wp_custom_setting_section',
'Пользовательский раздел настроек',
array($this, 'wp_custom_setting_section_cb'),
'reading'
);
}
// Функция обратного вызова для содержимого раздела
function wp_custom_setting_section_cb() {
esc_html_e('Лимит страниц: 10', 'text-domain');
}
}
new CustomSetting();
Здесь мы создали класс CustomSetting, в котором добавлены методы для инициализации и обработки настроек.
Примечания
- Глобальная переменная:
$wp_settings_sections– это массив, который хранит все добавленные разделы настроек на страницах администратора.
Изменения
- С версии 2.7.0: Функция была разработана.
- С версии 6.1.0: Добавлен параметр
$argsдля HTML-обертки и имени класса раздела.
Заключение
Функция add_settings_section() является мощным инструментом для структурирования настроек вашего плагина или темы в WordPress. Используя эту функцию, вы можете сделать интерфейс более удобным и понятным для пользователей.