- Описание класса
- Методы
- call_widget_update()
- capture_filter_pre_get_option()
- capture_filter_pre_update_option()
- count_captured_options()
- customize_controls_init()
- customize_dynamic_partial_args()
- customize_preview_enqueue()
- customize_preview_init()
- customize_register()
- end_dynamic_sidebar()
- enqueue_scripts()
- export_preview_data()
- filter_customize_dynamic_setting_args()
- filter_customize_value_old_sidebars_widgets_data()
- filter_dynamic_sidebar_params()
- filter_option_sidebars_widgets_for_theme_switch()
- filter_sidebars_widgets_for_rendering_widget()
- filter_wp_kses_allowed_data_attributes()
- get_available_widgets()
- get_captured_option()
- get_captured_options()
- get_instance_hash_key()
- get_post_value()
- get_selective_refreshable_widgets()
- get_setting_args()
- get_setting_id()
- get_setting_type()
- get_widget_control()
- get_widget_control_parts()
- is_option_capture_ignored()
- is_panel_active()
- is_sidebar_rendered()
- is_wide_widget()
- is_widget_rendered()
- is_widget_selective_refreshable()
- output_widget_control_templates()
- override_sidebars_widgets_for_theme_switch()
- parse_widget_id()
- parse_widget_setting_id()
- prepreview_added_sidebars_widgets()
- prepreview_added_widget_instance()
- preview_sidebars_widgets()
- print_footer_scripts()
- print_preview_css()
- print_scripts()
- print_styles()
- refresh_nonces()
- register_settings()
- remove_prepreview_filters()
- render_widget_partial()
- sanitize_sidebar_widgets()
- sanitize_sidebar_widgets_js_instance()
- sanitize_widget_instance()
- sanitize_widget_js_instance()
- schedule_customize_register()
- selective_refresh_init()
- setup_widget_addition_previews()
- should_load_block_editor_scripts_and_styles()
- start_capturing_option_updates()
- start_dynamic_sidebar()
- stop_capturing_option_updates()
- tally_rendered_widgets()
- tally_sidebars_via_dynamic_sidebar_calls()
- tally_sidebars_via_is_active_sidebar_calls()
- wp_ajax_update_widget()
- _sort_name_callback()
- __construct()
- Примеры использования
- Инициализация класса WP_Customize_Widgets
- Сортировка доступных виджетов по имени
- Вызов обновления и управления виджетами
- Предварительная фильтрация значений захваченных опций
- Подсчет захваченных обновлений опций виджетов
- Регистрация настроек и элементов управления Customizer для боковых панелей и виджетов
- Завершение отслеживания текущей боковой панели
- Подключение скриптов для предварительного просмотра Customizer
- Добавление хуков для предварительного просмотра Customizer
- Получение доступных виджетов
- Получение захваченной опции
- Определение активности панели виджетов
- Определение отображения боковой панели
- Определение отображения виджета
- Определение поддержки выборочного обновления виджета
- Вывод шаблонов элементов управления виджетами
- Переопределение боковых панелей для смены темы
- Преобразование ID виджета
- Преобразование ID настроек виджета
- Предварительное добавление боковых панелей и виджетов
- Обновление виджета асинхронно
- Вопросы и ответы
- Как добавить новый виджет в Customizer?
- Как изменить настройки виджета в Customizer?
- Как удалить виджет из Customizer?
- Как изменить порядок виджетов в Customizer?
- Как настроить селективное обновление виджетов в Customizer?
- Как настроить виджеты для разных сайдбаров в Customizer?
- Как настроить виджеты для разных тем в Customizer?
- Как настроить ширину виджетов в Customizer?
- Как настроить скрипты и стили для Customizer панели и предпросмотра?
Описание класса
Класс WP_Customize_Widgets представляет собой расширение класса WP_Customize_Manager и отвечает за управление виджетами в пользовательском интерфейсе настройки темы (Customizer) в WordPress.
Основное назначение класса WP_Customize_Widgets — предоставить возможность настройки виджетов в реальном времени, без необходимости перезагрузки страницы. Класс обеспечивает функциональность добавления, удаления, изменения и управления виджетами через пользовательский интерфейс Customizer.
Методы
__construct()— Инициализация загрузчика._sort_name_callback()— Естественная сортировка доступных виджетов по имени.call_widget_update()— Находит и вызывает обратные вызовы обновления и управления виджетами.capture_filter_pre_get_option()— Предварительно фильтрует захваченные значения опций перед получением.capture_filter_pre_update_option()— Предварительно фильтрует захваченные значения опций перед обновлением.count_captured_options()— Возвращает количество захваченных обновлений опций виджетов.customize_controls_init()— Гарантирует загрузку всех виджетов в пользовательский интерфейс Customizer.customize_dynamic_partial_args()— Фильтрует аргументы для динамических частичных виджетов.customize_preview_enqueue()— Подключает скрипты для предварительного просмотра Customizer.customize_preview_init()— Добавляет хуки для предварительного просмотра Customizer.customize_register()— Регистрирует настройки и элементы управления Customizer для всех боковых панелей и виджетов.end_dynamic_sidebar()— Завершает отслеживание текущей боковой панели, которая рендерится.enqueue_scripts()— Подключает скрипты и стили для панели Customizer и экспортирует данные в JavaScript.export_preview_data()— Коммуницирует боковые панели, которые появились на странице в самом конце страницы и в самом конце wp_footer.filter_customize_dynamic_setting_args()— Определяет аргументы для динамически созданной настройки.filter_customize_value_old_sidebars_widgets_data()— Фильтрует настройку Customizer old_sidebars_widgets_data.filter_dynamic_sidebar_params()— Внедряет атрибуты данных для выборочного обновления в элементы контейнера виджетов.filter_option_sidebars_widgets_for_theme_switch()— Фильтрует опцию sidebars_widgets для смены темы.filter_sidebars_widgets_for_rendering_widget()— Фильтрует опцию sidebars_widgets, чтобы убедиться, что в текущей боковой панели есть только текущий виджет.filter_wp_kses_allowed_data_attributes()— Гарантирует, что HTML-атрибуты данных для выборочного обновления разрешены kses.get_available_widgets()— Строит индекс всех доступных виджетов для использования в моделях Backbone.get_captured_option()— Получает опцию, которая была захвачена для сохранения.get_captured_options()— Получает захваченные обновления опций виджетов.get_instance_hash_key()— Получает MAC для сериализованной строки экземпляра виджета.get_post_value()— Получает значение поста без экранирования или возвращает значение по умолчанию.get_selective_refreshable_widgets()— Указывает, может ли каждый зарегистрированный виджет использовать выборочное обновление.get_setting_args()— Получает общие аргументы для создания настройки Customizer.get_setting_id()— Преобразует widget_id в соответствующий ID настройки Customizer (имя опции).get_setting_type()— Получает тип настройки виджета по заданному ID настройки.get_widget_control()— Получает разметку элемента управления виджета.get_widget_control_parts()— Получает разметку элемента управления виджета в виде частей.is_option_capture_ignored()— Определяет, следует ли игнорировать захваченное обновление опции.is_panel_active()— Определяет, активна ли панель виджетов на основе наличия зарегистрированных боковых панелей.is_sidebar_rendered()— Определяет, рендерится ли боковая панель на странице.is_wide_widget()— Определяет, считается ли виджет «широким».is_widget_rendered()— Определяет, рендерится ли виджет на странице.is_widget_selective_refreshable()— Определяет, поддерживает ли виджет выборочное обновление.output_widget_control_templates()— Рендерит шаблоны элементов управления виджетов в DOM.override_sidebars_widgets_for_theme_switch()— Переопределяет sidebars_widgets для смены темы.parse_widget_id()— Преобразует ID виджета в его компоненты id_base и number.parse_widget_setting_id()— Преобразует ID настройки виджета (путь к опции) в его компоненты id_base и number.prepreview_added_sidebars_widgets()— {@internal Отсутствует описание} — устарело.prepreview_added_widget_instance()— {@internal Отсутствует описание} — устарело.preview_sidebars_widgets()— При предварительном просмотре гарантирует использование правильных виджетов для предварительного просмотра.print_footer_scripts()— Вызывает хуки admin_print_footer_scripts и admin_print_scripts для разрешения пользовательских скриптов из плагинов.print_preview_css()— Вставляет стиль по умолчанию для выделенного виджета на раннем этапе, чтобы таблица стилей темы могла его переопределить.print_scripts()— Вызывает хуки admin_print_scripts-widgets.php и admin_print_scripts для разрешения пользовательских скриптов из плагинов.print_styles()— Вызывает хуки admin_print_styles-widgets.php и admin_print_styles для разрешения пользовательских стилей из плагинов.refresh_nonces()— Обновляет nonce для обновления виджетов.register_settings()— Анализирует входящие настраиваемые данные для любых настроек виджетов и динамически добавляет их заранее, чтобы виджеты были правильно инициализированы.remove_prepreview_filters()— {@internal Отсутствует описание} — устарело.render_widget_partial()— Рендерит конкретный виджет с использованием предоставленных аргументов боковой панели.sanitize_sidebar_widgets()— Гарантирует, что массивы виджетов боковой панели содержат только идентификаторы виджетов.sanitize_sidebar_widgets_js_instance()— Удаляет идентификаторы виджетов для виджетов, которые больше не зарегистрированы.sanitize_widget_instance()— Очищает экземпляр виджета.sanitize_widget_js_instance()— Преобразует экземпляр виджета в формат JSON.schedule_customize_register()— Гарантирует доступность виджетов для всех типов предварительного просмотра.selective_refresh_init()— Добавляет хуки для выборочного обновления.setup_widget_addition_previews()— {@internal Отсутствует описание} — устарело.should_load_block_editor_scripts_and_styles()— Сообщает загрузчику скриптов о необходимости загрузки скриптов и стилей пользовательских блоков, если включен редактор виджетов.start_capturing_option_updates()— Начинает отслеживание изменений опций виджетов и кэширование новых значений.start_dynamic_sidebar()— Начинает отслеживание текущей боковой панели, которая рендерится.stop_capturing_option_updates()— Отменяет все изменения опций, произошедшие с момента начала отслеживания.tally_rendered_widgets()— Отслеживает виджеты, которые были отрисованы.tally_sidebars_via_dynamic_sidebar_calls()— Подсчитывает боковые панели, отрисованные с помощью dynamic_sidebar().tally_sidebars_via_is_active_sidebar_calls()— Подсчитывает боковые панели, отрисованные с помощью is_active_sidebar().wp_ajax_update_widget()— Асинхронно обновляет настройки виджета.
Методы
call_widget_update()
Метод call_widget_update() класса WP_Customize_Widgets находит и вызывает обновление виджета и обратные вызовы управления.
WP_Customize_Widgets::call_widget_update( string $widget_id ): array|WP_Error Метод call_widget_update() принимает один обязательный параметр:
$widget_id(string) — Идентификатор виджета.
$widget_id (string) — Обязательный. Идентификатор виджета.
Метод call_widget_update() возвращает массив с обновленной информацией о виджете. Если возникла ошибка, возвращается объект WP_Error.
/**
* Пример использования метода call_widget_update().
*
* @param string $widget_id Идентификатор виджета.
*
* @return array|WP_Error Массив с обновленной информацией о виджете или объект WP_Error в случае ошибки.
*/
function example_call_widget_update( $widget_id ) {
// Вызываем метод call_widget_update() с переданным идентификатором виджета.
$updated_widget_info = WP_Customize_Widgets::call_widget_update( $widget_id );
// Возвращаем обновленную информацию о виджете.
return $updated_widget_info;
}
capture_filter_pre_get_option()
Метод capture_filter_pre_get_option() является методом класса WP_Customize_Widgets, который предназначен для предварительной фильтрации захваченных значений опций перед их получением.
Данный метод работает путем применения фильтра к значению опции, которое будет возвращено, вместо фактического значения опции.
Метод используется для изменения или модификации значений опций, которые будут возвращены при использовании функции get_option().
WP_Customize_Widgets::capture_filter_pre_get_option( mixed $value ): mixed Метод capture_filter_pre_get_option() принимает один обязательный параметр:
$value(mixed) — Значение, которое будет возвращено вместо значения опции.
$value (mixed) — Обязательный параметр. Значение, которое будет возвращено вместо значения опции.
Метод capture_filter_pre_get_option() возвращает отфильтрованное значение опции.
<code>/**
* Пример использования метода capture_filter_pre_get_option()
*
* @param mixed $value Значение, которое будет возвращено вместо значения опции.
* @return mixed Отфильтрованное значение опции.
*/
WP_Customize_Widgets::capture_filter_pre_get_option( $value );</code> capture_filter_pre_update_option()
Метод capture_filter_pre_update_option() является методом класса WP_Customize_Widgets. Он предназначен для предварительной фильтрации значений захваченных опций перед их обновлением.
Метод работает следующим образом: перед обновлением опции, он принимает новое значение опции, имя опции и старое значение опции. Затем метод фильтрует новое значение опции и возвращает отфильтрованное значение.
Метод capture_filter_pre_update_option() используется для обработки значений опций, которые были захвачены в процессе обновления. Он позволяет изменить или проверить значения опций перед их сохранением.
WP_Customize_Widgets::capture_filter_pre_update_option( mixed $new_value, string $option_name, mixed $old_value ): mixed Метод capture_filter_pre_update_option() принимает три параметра:
$new_value(mixed) — Новое значение опции. Обязательный параметр.$option_name(string) — Имя опции. Обязательный параметр.$old_value(mixed) — Старое значение опции. Обязательный параметр.
Метод capture_filter_pre_update_option() возвращает отфильтрованное значение опции.
/**
* Пример использования метода capture_filter_pre_update_option()
*
* @param mixed $new_value Новое значение опции.
* @param string $option_name Имя опции.
* @param mixed $old_value Старое значение опции.
*
* @return mixed Отфильтрованное значение опции.
*/
function example_capture_filter_pre_update_option( $new_value, $option_name, $old_value ) {
// Ваш код обработки значений опции
// Возвращаем отфильтрованное значение опции
return $new_value;
}
count_captured_options()
Метод count_captured_options() класса WP_Customize_Widgets используется для получения количества обновленных опций виджетов.
WP_Customize_Widgets::count_captured_options() Этот код используется для вызова метода count_captured_options() класса WP_Customize_Widgets.
Метод count_captured_options() возвращает целое число — количество обновленных опций.
customize_controls_init()
Метод customize_controls_init() является статическим методом класса WP_Customize_Widgets. Он используется для загрузки всех виджетов в пользовательский интерфейс настройки (Customizer) WordPress.
Этот метод гарантирует, что все виджеты будут доступны в пользовательском интерфейсе настройки, что позволяет разработчикам вносить изменения в виджеты и их настройки в реальном времени.
WP_Customize_Widgets::customize_controls_init(); Вызов метода customize_controls_init() позволяет загрузить все виджеты в пользовательский интерфейс настройки WordPress.
Этот метод должен быть вызван внутри хука customize_controls_init, чтобы гарантировать, что он будет выполнен в нужное время.
Пример использования:
// Загрузка виджетов в пользовательский интерфейс настройки
add_action( 'customize_controls_init', function() {
WP_Customize_Widgets::customize_controls_init();
} ); В приведенном примере метод customize_controls_init() вызывается внутри анонимной функции, которая является обработчиком хука customize_controls_init. Это гарантирует, что метод будет выполнен в нужное время, когда пользовательский интерфейс настройки будет инициализирован.
customize_dynamic_partial_args()
Метод customize_dynamic_partial_args() является фильтром для аргументов динамических виджетных частей.
WP_Customize_Widgets::customize_dynamic_partial_args( array|false $partial_args, string $partial_id ): array Метод customize_dynamic_partial_args() принимает два параметра: $partial_args (массив или ложное значение) и $partial_id (строка). Он возвращает массив с возможно измененными аргументами виджетной части.
$partial_args (array|false) — Обязательный. Аргументы виджетной части.
$partial_id (string) — Обязательный. Идентификатор виджетной части.
Метод customize_dynamic_partial_args() возвращает измененные аргументы виджетной части в виде массива.
<?php
/**
* Фильтрует аргументы динамических виджетных частей.
*
* @param array|false $partial_args Аргументы виджетной части.
* @param string $partial_id Идентификатор виджетной части.
*
* @return array Массив с измененными аргументами виджетной части.
*/
function my_customize_dynamic_partial_args( $partial_args, $partial_id ) {
// Ваш код здесь
}
add_filter( 'customize_dynamic_partial_args', 'my_customize_dynamic_partial_args', 10, 2 );
?> customize_preview_enqueue()
Метод customize_preview_enqueue() класса WP_Customize_Widgets используется для подключения скриптов в режиме предварительного просмотра настраиваемых виджетов в Customizer.
Этот метод отвечает за добавление скриптов, которые необходимы для работы виджетов в режиме предварительного просмотра. Он вызывается в контексте класса WP_Customize_Widgets, который является подклассом класса WP_Customize_Manager.
Метод customize_preview_enqueue() является публичным и статическим, поэтому он может быть вызван без создания экземпляра класса WP_Customize_Widgets.
WP_Customize_Widgets::customize_preview_enqueue();
Вызов этого кода позволяет подключить необходимые скрипты для работы виджетов в режиме предварительного просмотра.
Метод customize_preview_enqueue() не принимает никаких аргументов.
Обратите внимание, что этот метод должен быть вызван в контексте класса WP_Customize_Widgets или его подкласса.
customize_preview_init()
Метод customize_preview_init() добавляет хуки для предварительного просмотра в пользовательском интерфейсе Customizer.
Customizer представляет собой инструмент в WordPress, который позволяет вам настраивать и предварительно просматривать различные аспекты вашего сайта в режиме реального времени.
Этот метод добавляет хуки, которые позволяют разработчикам вносить изменения в предварительный просмотр Customizer и реагировать на эти изменения.
WP_Customize_Widgets::customize_preview_init();
Этот код вызывает метод customize_preview_init() класса WP_Customize_Widgets.
Метод customize_preview_init() добавляет хуки для предварительного просмотра в пользовательском интерфейсе Customizer.
Вызов этого метода обычно происходит в файле functions.php вашей темы или в плагине WordPress.
После вызова этого метода, вы можете добавить свои собственные функции и хуки, которые будут выполняться при изменении предварительного просмотра в Customizer.
customize_register()
Метод customize_register() является статическим методом класса WP_Customize_Widgets. Он используется для регистрации настроек и элементов управления Customizer для всех боковых панелей и виджетов.
Этот метод регистрирует настройки и элементы управления Customizer для виджетов и боковых панелей, позволяя разработчикам настраивать и персонализировать виджеты и их расположение на сайте.
WP_Customize_Widgets::customize_register();
Этот код вызывает статический метод customize_register() класса WP_Customize_Widgets. Он регистрирует настройки и элементы управления Customizer для виджетов и боковых панелей.
Метод customize_register() не принимает аргументов и не возвращает значений. Он выполняет регистрацию настроек и элементов управления Customizer для виджетов и боковых панелей, что позволяет разработчикам настраивать и персонализировать виджеты и их расположение на сайте.
end_dynamic_sidebar()
Метод end_dynamic_sidebar() используется для завершения отслеживания текущей боковой панели, которая рендерится.
WP_Customize_Widgets::end_dynamic_sidebar( int|string $index ) Метод end_dynamic_sidebar() принимает один обязательный параметр:
$index(int|string) — Индекс, имя или ID динамической боковой панели.
/**
* Завершает отслеживание текущей боковой панели.
*
* @param int|string $index Индекс, имя или ID динамической боковой панели.
*/
WP_Customize_Widgets::end_dynamic_sidebar( $index );
В приведенном выше примере кода метод end_dynamic_sidebar() вызывается с параметром $index, который представляет собой индекс, имя или ID динамической боковой панели.
enqueue_scripts()
Метод enqueue_scripts() класса WP_Customize_Widgets используется для добавления скриптов и стилей в панель настройки темы (Customizer) и передачи данных в JavaScript.
Этот метод отвечает за загрузку необходимых ресурсов, таких как JavaScript-файлы и CSS-стили, в панель настройки темы. Он также отвечает за передачу данных из PHP в JavaScript, чтобы их можно было использовать во время настройки виджетов.
Метод enqueue_scripts() является частью класса WP_Customize_Widgets, который предоставляет возможность настраивать виджеты в панели настройки темы. Он позволяет добавлять и настраивать виджеты, а также изменять их внешний вид и поведение.
WP_Customize_Widgets::enqueue_scripts();
Вызов метода enqueue_scripts() класса WP_Customize_Widgets позволяет загрузить необходимые скрипты и стили в панель настройки темы.
Этот метод должен быть вызван в контексте панели настройки темы, чтобы обеспечить корректную загрузку ресурсов и передачу данных в JavaScript.
export_preview_data()
Метод export_preview_data() класса WP_Customize_Widgets используется для передачи информации о виджетах, которые появились на странице, в конец страницы и в конец блока wp_footer. Он позволяет связать виджеты, отображаемые в пользовательском интерфейсе Customizer, с виджетами, отображаемыми на фронтенде сайта.
Этот метод вызывается внутри хука wp_footer и передает данные о виджетах в JavaScript-объект _wpCustomizeWidgetsSettings. Этот объект содержит информацию о виджетах, их настройках и местоположении на странице.
WP_Customize_Widgets::export_preview_data();
filter_customize_dynamic_setting_args()
Метод filter_customize_dynamic_setting_args() определяет аргументы для динамически созданной настройки.
WP_Customize_Widgets::filter_customize_dynamic_setting_args( false|array $args, string $setting_id ): array|false Метод filter_customize_dynamic_setting_args() принимает два параметра: $args (обязательный) и $setting_id (обязательный). Параметр $args представляет собой аргументы для конструктора класса WP_Customize_Setting. Параметр $setting_id представляет собой идентификатор динамической настройки, обычно получаемый из $_POST['customized'].
$args (false|array) — Аргументы для конструктора класса WP_Customize_Setting. Обязательный параметр.
$setting_id (string) — Идентификатор динамической настройки, обычно получаемый из $_POST['customized']. Обязательный параметр.
Метод filter_customize_dynamic_setting_args() возвращает аргументы настройки (array) или false в случае ошибки.
<code>$args = array(
'type' => 'option',
'capability' => 'edit_theme_options',
'default' => '',
'transport' => 'refresh',
'sanitize_callback' => 'sanitize_text_field',
);
$setting_id = 'my_dynamic_setting';
$args = WP_Customize_Widgets::filter_customize_dynamic_setting_args( $args, $setting_id );
if ( $args ) {
// Создание динамической настройки
$setting = new WP_Customize_Setting( $setting_id, $args );
} В данном примере кода создается массив $args с аргументами для настройки. Затем вызывается метод filter_customize_dynamic_setting_args() класса WP_Customize_Widgets с передачей массива $args и идентификатора настройки $setting_id. Если метод возвращает аргументы настройки, то создается новая настройка с помощью класса WP_Customize_Setting.
filter_customize_value_old_sidebars_widgets_data()
Метод filter_customize_value_old_sidebars_widgets_data() является фильтром для настройки старых данных виджетов в пользовательском интерфейсе Customizer.
Он позволяет изменять данные виджетов, которые были сохранены ранее, перед их отображением в пользовательском интерфейсе Customizer.
WP_Customize_Widgets::filter_customize_value_old_sidebars_widgets_data( array $old_sidebars_widgets ): array Метод filter_customize_value_old_sidebars_widgets_data() принимает один обязательный параметр:
$old_sidebars_widgets(array) — Массив старых данных виджетов.
Метод возвращает отфильтрованный массив старых данных виджетов.
$old_sidebars_widgets(array) — Обязательный. Массив старых данных виджетов, который будет отфильтрован.
Метод не принимает других параметров.
Метод filter_customize_value_old_sidebars_widgets_data() возвращает отфильтрованный массив старых данных виджетов.
<code>// Фильтруем старые данные виджетов
<code>add_filter( 'old_sidebars_widgets_data', 'filter_customize_value_old_sidebars_widgets_data' );
<code>function filter_customize_value_old_sidebars_widgets_data( $old_sidebars_widgets ) {
// Ваш код для фильтрации данных виджетов
return $old_sidebars_widgets;
}</code> В приведенном примере кода мы добавляем фильтр old_sidebars_widgets_data и указываем функцию filter_customize_value_old_sidebars_widgets_data() в качестве обработчика.
Внутри функции вы можете написать свой код для фильтрации данных виджетов и вернуть отфильтрованный массив.
filter_dynamic_sidebar_params()
Метод filter_dynamic_sidebar_params() является методом класса WP_Customize_Widgets. Он используется для внедрения атрибутов данных выборочного обновления в элементы контейнера виджетов.
WP_Customize_Widgets::filter_dynamic_sidebar_params( array $params ): array Метод filter_dynamic_sidebar_params() принимает один обязательный параметр $params, который является массивом параметров динамической боковой панели. Он возвращает массив.
$params (array) — Обязательный. Параметры динамической боковой панели.
$args (array) — Параметры боковой панели.
$widget_args (array) — Параметры виджета.
Метод filter_dynamic_sidebar_params() возвращает массив параметров.
<code>$params</code> = array(
'args' => array(
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
),
'widget_args' => array(
'widget_id' => 'example-widget',
'widget_name' => 'Example Widget',
),
);
<code>$filtered_params</code> = WP_Customize_Widgets::filter_dynamic_sidebar_params( <code>$params</code> );
// Результат:
<code>$filtered_params</code> = array(
'args' => array(
'before_widget' => '<div id="%1$s" class="widget %2$s" data-widget-id="example-widget" data-widget-name="Example Widget">',
'after_widget' => '</div>',
'before_title' => '<h2 class="widget-title">',
'after_title' => '</h2>',
),
'widget_args' => array(
'widget_id' => 'example-widget',
'widget_name' => 'Example Widget',
),
); filter_option_sidebars_widgets_for_theme_switch()
Метод filter_option_sidebars_widgets_for_theme_switch() является частью класса WP_Customize_Widgets и используется для фильтрации опции sidebars_widgets при смене темы.
Этот метод позволяет изменить содержимое опции sidebars_widgets перед ее сохранением при смене темы. Он предоставляет возможность добавить или удалить виджеты из боковых панелей, а также изменить их порядок.
WP_Customize_Widgets::filter_option_sidebars_widgets_for_theme_switch( array $sidebars_widgets ): array Метод filter_option_sidebars_widgets_for_theme_switch() принимает один обязательный параметр:
$sidebars_widgets(array) — Массив, содержащий виджеты боковых панелей.
Метод возвращает отфильтрованный массив $sidebars_widgets.
$sidebars_widgets(array) — Обязательный параметр. Массив, содержащий виджеты боковых панелей. Ключами массива являются идентификаторы боковых панелей, а значениями — массивы виджетов, привязанных к каждому боковому панелю.
Метод filter_option_sidebars_widgets_for_theme_switch() возвращает отфильтрованный массив $sidebars_widgets, содержащий виджеты боковых панелей.
<?php
/**
* Пример использования метода filter_option_sidebars_widgets_for_theme_switch()
*
* @param array $sidebars_widgets Массив виджетов боковых панелей.
*
* @return array Отфильтрованный массив виджетов боковых панелей.
*/
function filter_option_sidebars_widgets_for_theme_switch_example( $sidebars_widgets ) {
// Ваш код для фильтрации виджетов боковых панелей при смене темы
return $sidebars_widgets;
}
?> filter_sidebars_widgets_for_rendering_widget()
Метод filter_sidebars_widgets_for_rendering_widget() является частью класса WP_Customize_Widgets. Он используется для фильтрации виджетов в боковых панелях, чтобы убедиться, что только текущий виджет отображается в текущей боковой панели.
WP_Customize_Widgets::filter_sidebars_widgets_for_rendering_widget( array $sidebars_widgets ): array Метод filter_sidebars_widgets_for_rendering_widget() принимает один обязательный параметр $sidebars_widgets, который является массивом виджетов в боковых панелях. Он фильтрует этот массив и возвращает отфильтрованный массив виджетов в боковых панелях.
$sidebars_widgets (обязательный): Массив виджетов в боковых панелях.
Метод filter_sidebars_widgets_for_rendering_widget() возвращает отфильтрованный массив виджетов в боковых панелях.
<?php
/**
* Пример использования метода filter_sidebars_widgets_for_rendering_widget()
*/
// Массив виджетов в боковых панелях
$sidebars_widgets = array(
'sidebar-1' => array(
'widget-1',
'widget-2',
'widget-3'
),
'sidebar-2' => array(
'widget-4',
'widget-5',
'widget-6'
)
);
// Фильтрация виджетов в боковых панелях
$filtered_widgets = WP_Customize_Widgets::filter_sidebars_widgets_for_rendering_widget( $sidebars_widgets );
// Вывод отфильтрованного массива виджетов в боковых панелях
print_r( $filtered_widgets );
?> В приведенном выше примере кода мы создаем массив виджетов в боковых панелях и затем используем метод filter_sidebars_widgets_for_rendering_widget() для фильтрации этого массива. Отфильтрованный массив виджетов в боковых панелях выводится с помощью функции print_r().
filter_wp_kses_allowed_data_attributes()
Метод filter_wp_kses_allowed_data_attributes() класса WP_Customize_Widgets используется для обеспечения разрешенных атрибутов данных HTML для выборочного обновления (selective refresh) с помощью kses.
WP_Customize_Widgets::filter_wp_kses_allowed_data_attributes( array $allowed_html ): array Метод filter_wp_kses_allowed_data_attributes() принимает один параметр — массив разрешенного HTML. Он возвращает измененный массив разрешенного HTML.
$allowed_html (array) — Обязательный. Разрешенный HTML.
Метод filter_wp_kses_allowed_data_attributes() возвращает измененный массив разрешенного HTML.
<?php
/**
* Пример использования метода filter_wp_kses_allowed_data_attributes()
*
* @param array $allowed_html Разрешенный HTML.
* @return array Измененный массив разрешенного HTML.
*/
$allowed_html = WP_Customize_Widgets::filter_wp_kses_allowed_data_attributes( $allowed_html );
?> get_available_widgets()
Метод get_available_widgets() класса WP_Customize_Widgets используется для создания индекса всех доступных виджетов, которые могут быть использованы в моделях Backbone.
Метод собирает информацию о всех доступных виджетах и создает массив, содержащий список этих виджетов.
WP_Customize_Widgets::get_available_widgets(): array Метод get_available_widgets() вызывается статически, без создания экземпляра класса WP_Customize_Widgets. Он возвращает массив, содержащий список всех доступных виджетов.
Пример использования:
$available_widgets = WP_Customize_Widgets::get_available_widgets(); В этом примере переменная $available_widgets будет содержать список всех доступных виджетов.
Метод get_available_widgets() возвращает массив, содержащий список всех доступных виджетов.
Пример:
array List of available widgets get_captured_option()
Метод get_captured_option() класса WP_Customize_Widgets используется для получения значения опции, которая была захвачена от сохранения.
WP_Customize_Widgets::get_captured_option( string $option_name, mixed $default_value = false ): mixed Метод get_captured_option() принимает два параметра:
$option_name(обязательный) — название опции.$default_value(необязательный) — значение по умолчанию, которое будет возвращено, если опция не существует. По умолчанию: false.
$option_name (string) — Обязательный. Название опции.
$default_value (mixed) — Необязательный. Значение по умолчанию, которое будет возвращено, если опция не существует. По умолчанию: false.
Метод get_captured_option() возвращает значение, установленное для опции.
<?php
/**
* Пример использования метода get_captured_option()
*
* @param string $option_name Название опции.
* @param mixed $default_value Значение по умолчанию, если опция не существует. По умолчанию: false.
*
* @return mixed Значение опции.
*/
$option_value = WP_Customize_Widgets::get_captured_option( 'my_option', 'default_value' );
?> get_captured_options()
Метод get_captured_options() класса WP_Customize_Widgets используется для получения захваченных обновлений опций виджетов. Он извлекает массив захваченных опций виджетов, которые были изменены в пользовательском интерфейсе настраиваемых виджетов.
WP_Customize_Widgets::get_captured_options(): array Метод get_captured_options() вызывается статически, без создания экземпляра класса WP_Customize_Widgets. Он возвращает массив захваченных опций виджетов.
Метод get_captured_options() возвращает массив захваченных опций виджетов. Каждый элемент массива представляет собой захваченное обновление опции виджета.
get_instance_hash_key()
Метод get_instance_hash_key() класса WP_Customize_Widgets используется для получения MAC-адреса (Message Authentication Code) для сериализованной строки экземпляра виджета. MAC-адрес представляет собой хэш-значение, которое используется для проверки целостности данных и обеспечения их безопасности.
WP_Customize_Widgets::get_instance_hash_key( string $serialized_instance ): string Метод get_instance_hash_key() принимает один обязательный параметр:
$serialized_instance(string) — Сериализованная строка экземпляра виджета.
Метод возвращает строку — MAC-адрес для сериализованной строки экземпляра виджета.
<code>$serialized_instance = '...';</code>
<code>$hash_key = WP_Customize_Widgets::get_instance_hash_key( $serialized_instance ); В приведенном выше примере кода мы создаем переменную $serialized_instance и присваиваем ей сериализованную строку экземпляра виджета. Затем мы вызываем метод get_instance_hash_key() класса WP_Customize_Widgets и передаем ему эту сериализованную строку в качестве аргумента. Результатом выполнения метода будет строка, содержащая MAC-адрес для данного экземпляра виджета.
get_post_value()
Метод get_post_value() класса WP_Customize_Widgets используется для получения значения поста без экранирования или возврата значения по умолчанию.
WP_Customize_Widgets::get_post_value( string $name, mixed $default_value = null ): mixed Метод get_post_value() принимает два параметра: $name (обязательный) и $default_value (необязательный). Он возвращает значение поста без экранирования или значение по умолчанию, если пост не существует.
$name (строка, обязательный): Значение поста.
$default_value (любой тип, необязательный): Значение по умолчанию. По умолчанию равно null.
Метод get_post_value() возвращает значение поста без экранирования или значение по умолчанию.
<?php
/**
* Пример использования метода get_post_value()
*
* @param string $name Значение поста.
* @param mixed $default_value Значение по умолчанию. По умолчанию равно null.
* @return mixed Значение поста без экранирования или значение по умолчанию.
*/
$value = WP_Customize_Widgets::get_post_value( $name, $default_value );
?> get_selective_refreshable_widgets()
Метод get_selective_refreshable_widgets() класса WP_Customize_Widgets используется для получения списка виджетов, поддерживающих выборочное обновление (selective refresh). Он возвращает массив, в котором каждому зарегистрированному виджету соответствует значение, указывающее, поддерживает ли тема выборочное обновление.
WP_Customize_Widgets::get_selective_refreshable_widgets(): array Метод get_selective_refreshable_widgets() не принимает аргументов. Он возвращает массив, в котором каждому зарегистрированному виджету соответствует значение, указывающее, поддерживает ли тема выборочное обновление.
Пример использования:
// Получение списка виджетов, поддерживающих выборочное обновление
$widgets = WP_Customize_Widgets::get_selective_refreshable_widgets(); Метод get_selective_refreshable_widgets() возвращает массив, в котором каждому зарегистрированному виджету соответствует значение, указывающее, поддерживает ли тема выборочное обновление. Если тема не поддерживает выборочное обновление, возвращается пустой массив.
get_setting_args()
Метод get_setting_args() класса WP_Customize_Widgets используется для извлечения общих аргументов, которые необходимо предоставить при создании настройки Customizer.
Этот метод возвращает массив с возможно измененными аргументами настройки.
WP_Customize_Widgets::get_setting_args( string $id, array $overrides = array() ): array Метод get_setting_args() принимает два параметра:
$id(обязательный) — ID настройки виджета.$overrides(необязательный) — Массив переопределений настройки. По умолчанию: array().
$id (string) — Обязательный. ID настройки виджета.
$overrides (array) — Необязательный. Массив переопределений настройки. По умолчанию: array().
Метод get_setting_args() возвращает массив, возможно измененных аргументов настройки.
<?php
/**
* Пример использования метода get_setting_args()
*/
// ID настройки виджета
$id = 'widget_setting_id';
// Массив переопределений настройки
$overrides = array(
'type' => 'text',
'default' => 'Hello World',
);
// Получение аргументов настройки
$args = WP_Customize_Widgets::get_setting_args( $id, $overrides );
// Вывод аргументов настройки
var_dump( $args );
?> В приведенном выше примере кода мы сначала определяем ID настройки виджета и массив переопределений настройки. Затем мы вызываем метод get_setting_args() с этими параметрами и сохраняем возвращенные аргументы в переменную $args. Наконец, мы выводим содержимое переменной $args с помощью функции var_dump().
get_setting_id()
Метод get_setting_id() класса WP_Customize_Widgets преобразует идентификатор виджета в соответствующий идентификатор настройки Customizer (имя опции). Он используется для получения идентификатора настройки виджета, который может быть использован для сохранения и извлечения данных виджета в Customizer.
WP_Customize_Widgets::get_setting_id( string $widget_id ): string Метод get_setting_id() принимает один обязательный параметр:
$widget_id(строка) — Обязательный. Идентификатор виджета.
Метод возвращает строку, представляющую идентификатор настройки виджета.
<?php
// Пример использования метода get_setting_id()
$widget_id = 'my_widget';
$setting_id = WP_Customize_Widgets::get_setting_id( $widget_id );
?> В приведенном выше примере кода, метод get_setting_id() используется для преобразования идентификатора виджета $widget_id в идентификатор настройки виджета $setting_id.
$widget_id(строка) — Обязательный. Идентификатор виджета.
Метод get_setting_id() принимает один обязательный параметр $widget_id, который представляет собой идентификатор виджета, для которого нужно получить идентификатор настройки виджета.
Метод get_setting_id() возвращает строку, представляющую идентификатор настройки виджета. Этот идентификатор может быть использован для сохранения и извлечения данных виджета в Customizer.
get_setting_type()
Метод get_setting_type() класса WP_Customize_Widgets используется для получения типа настройки виджета по заданному идентификатору настройки.
WP_Customize_Widgets::get_setting_type( string $setting_id ): string|void Метод get_setting_type() принимает один обязательный параметр:
$setting_id(string) — Идентификатор настройки. Обязательный параметр.
Метод возвращает строку, представляющую тип настройки виджета, или ничего (void), если тип не найден.
/**
* Пример использования метода get_setting_type()
*
* Получает тип настройки виджета по заданному идентификатору настройки.
*
* @param string $setting_id Идентификатор настройки. Обязательный параметр.
*
* @return string|void Строка, представляющая тип настройки виджета, или ничего (void), если тип не найден.
*/
$setting_type = WP_Customize_Widgets::get_setting_type( $setting_id );
get_widget_control()
Метод get_widget_control() класса WP_Customize_Widgets используется для получения разметки элемента управления виджетом.
Метод возвращает HTML-разметку формы элемента управления виджетом.
WP_Customize_Widgets::get_widget_control( array $args ): string Метод get_widget_control() принимает один обязательный параметр:
$args(array) — Массив аргументов элемента управления виджетом.
$args (array) — Обязательный. Массив аргументов элемента управления виджетом.
Метод get_widget_control() возвращает HTML-разметку формы элемента управления виджетом в виде строки.
<?php
/**
* Пример использования метода get_widget_control()
*/
// Параметры элемента управления виджетом
$args = array(
'id' => 'widget_id',
'name' => 'widget_name',
'description' => 'Widget Description',
// Дополнительные параметры
);
// Получение разметки элемента управления виджетом
$widget_control = WP_Customize_Widgets::get_widget_control( $args );
// Вывод разметки элемента управления виджетом
echo $widget_control;
?> В приведенном выше примере кода метод get_widget_control() используется для получения разметки элемента управления виджетом на основе переданных аргументов. Разметка элемента управления виджетом сохраняется в переменной $widget_control и затем выводится с помощью функции echo.
get_widget_control_parts()
Метод get_widget_control_parts() класса WP_Customize_Widgets используется для получения разметки элементов управления виджетом.
WP_Customize_Widgets::get_widget_control_parts( array $args ): array Метод get_widget_control_parts() принимает один обязательный параметр $args, который является массивом аргументов элементов управления виджетом.
$args (обязательный): Массив аргументов элементов управления виджетом.
Метод get_widget_control_parts() возвращает массив с разметкой элементов управления виджетом.
<code><?php
/**
* Пример использования метода get_widget_control_parts()
*/
$args = array(
'id_base' => 'my_widget',
'widget_id' => 'my_widget-1',
'width' => 250,
'height' => 300,
'number' => 1,
'form' => true,
'widget_name' => 'My Widget',
'fields' => array(
'title' => array(
'type' => 'text',
'label' => 'Title',
'value' => 'My Widget Title'
),
'content' => array(
'type' => 'textarea',
'label' => 'Content',
'value' => 'Lorem ipsum dolor sit amet.'
)
)
);
$widget_control_parts = WP_Customize_Widgets::get_widget_control_parts( $args );
// Вывод разметки элементов управления виджетом
foreach ( $widget_control_parts as $part ) {
echo $part;
}
?> is_option_capture_ignored()
Метод is_option_capture_ignored() класса WP_Customize_Widgets используется для определения, должно ли игнорироваться захваченное обновление опции.
WP_Customize_Widgets::is_option_capture_ignored( string $option_name ): bool Метод is_option_capture_ignored() принимает один обязательный параметр:
$option_name(string) — Название опции.
$option_name (string) — Обязательный параметр. Название опции.
Метод is_option_capture_ignored() возвращает значение типа bool, указывающее, игнорируется ли захват опции.
<code>// Проверяем, игнорируется ли захват опции 'example_option'
$is_ignored = WP_Customize_Widgets::is_option_capture_ignored( 'example_option' );</code> В приведенном выше примере кода мы проверяем, игнорируется ли захват опции с названием ‘example_option’.
is_panel_active()
Метод is_panel_active() класса WP_Customize_Widgets используется для определения активности панели виджетов на основе наличия зарегистрированных боковых панелей. Он возвращает логическое значение, указывающее, активна ли панель виджетов.
WP_Customize_Widgets::is_panel_active(): bool Метод is_panel_active() не принимает никаких аргументов. Он вызывается статически, используя имя класса WP_Customize_Widgets. Метод возвращает логическое значение true или false, указывающее, активна ли панель виджетов.
Метод is_panel_active() возвращает логическое значение true, если панель виджетов активна, и false, если панель неактивна.
is_sidebar_rendered()
Метод is_sidebar_rendered() класса WP_Customize_Widgets используется для определения, отображается ли боковая панель на странице.
WP_Customize_Widgets::is_sidebar_rendered( string $sidebar_id ): bool Метод is_sidebar_rendered() принимает один обязательный параметр:
$sidebar_id(строка) — Идентификатор боковой панели, которую нужно проверить.
$sidebar_id (строка) — Обязательный. Идентификатор боковой панели, которую нужно проверить.
Метод is_sidebar_rendered() возвращает логическое значение (bool) — отображается ли боковая панель.
<code>$sidebar_id = 'sidebar-1';</code>
<code>$is_rendered = WP_Customize_Widgets::is_sidebar_rendered( $sidebar_id ); В приведенном выше примере кода переменной $sidebar_id присваивается значение ‘sidebar-1’. Затем метод is_sidebar_rendered() вызывается с этим идентификатором боковой панели в качестве аргумента, и возвращаемое значение присваивается переменной $is_rendered. В результате переменная $is_rendered будет содержать логическое значение, указывающее, отображается ли боковая панель с идентификатором ‘sidebar-1’.
is_wide_widget()
Метод is_wide_widget() класса WP_Customize_Widgets используется для определения, является ли виджет «широким».
Виджет считается «широким», если его ширина превышает заданное значение.
WP_Customize_Widgets::is_wide_widget( string $widget_id ): bool Метод is_wide_widget() принимает один обязательный параметр:
$widget_id(строка) — Идентификатор виджета.
$widget_id (строка) — Обязательный. Идентификатор виджета.
Метод is_wide_widget() возвращает логическое значение true, если виджет является «широким», и false в противном случае.
<code>$widget_id = 'my_widget';</code>
<code>$is_wide = WP_Customize_Widgets::is_wide_widget( $widget_id );</code>
<code>if ( $is_wide ) {</code>
<code> // Код, выполняемый, если виджет является "широким"</code>
<code>} else {</code>
<code> // Код, выполняемый, если виджет не является "широким"</code>
<code>}</code> is_widget_rendered()
Метод is_widget_rendered() класса WP_Customize_Widgets используется для определения, был ли виджет отрисован на странице.
WP_Customize_Widgets::is_widget_rendered( string $widget_id ): bool Метод is_widget_rendered() принимает один обязательный параметр:
$widget_id(строка) — Идентификатор виджета, который нужно проверить.
$widget_id (строка) — Обязательный. Идентификатор виджета, который нужно проверить.
Метод is_widget_rendered() возвращает логическое значение true, если виджет отрисован на странице, и false в противном случае.
<?php
/**
* Проверяет, был ли виджет с идентификатором 'my_widget' отрисован на странице.
*/
$is_rendered = WP_Customize_Widgets::is_widget_rendered( 'my_widget' );
if ( $is_rendered ) {
// Виджет отрисован на странице
// Добавьте здесь свой код
} else {
// Виджет не отрисован на странице
// Добавьте здесь свой код
}
?> is_widget_selective_refreshable()
Метод is_widget_selective_refreshable() класса WP_Customize_Widgets используется для определения, поддерживает ли виджет выборочное обновление.
Выборочное обновление (selective refresh) — это технология в WordPress, которая позволяет обновлять только определенные части страницы без перезагрузки всей страницы. Это особенно полезно для виджетов, так как позволяет обновлять только содержимое виджета без необходимости перезагружать всю страницу.
WP_Customize_Widgets::is_widget_selective_refreshable( string $id_base ): bool Метод is_widget_selective_refreshable() принимает один обязательный параметр:
$id_base(строка) — Базовый идентификатор виджета.
Метод возвращает логическое значение (bool), указывающее, может ли виджет быть обновлен выборочно.
$id_base (строка) — Обязательный. Базовый идентификатор виджета.
Метод is_widget_selective_refreshable() возвращает логическое значение (bool), указывающее, может ли виджет быть обновлен выборочно.
<?php
/**
* Проверяет, поддерживает ли виджет выборочное обновление.
*
* @param string $id_base Базовый идентификатор виджета.
* @return bool Возвращает true, если виджет поддерживает выборочное обновление, иначе false.
*/
$is_selective_refreshable = WP_Customize_Widgets::is_widget_selective_refreshable( $id_base );
?> output_widget_control_templates()
Метод output_widget_control_templates() класса WP_Customize_Widgets используется для рендеринга шаблонов элементов управления виджетами в DOM.
Этот метод выводит на страницу HTML-код, содержащий шаблоны для создания и настройки виджетов. Шаблоны могут быть использованы для отображения формы настройки виджета, его заголовка, описания и других элементов управления.
WP_Customize_Widgets::output_widget_control_templates(); Вызов данного метода позволяет вывести на страницу HTML-код с шаблонами элементов управления виджетами.
Примечание: данный метод не принимает аргументов.
override_sidebars_widgets_for_theme_switch()
Метод override_sidebars_widgets_for_theme_switch() класса WP_Customize_Widgets используется для переопределения виджетов боковой панели при смене темы в WordPress.
Когда пользователь меняет тему, этот метод перезаписывает данные о виджетах в боковой панели, чтобы они соответствовали новой теме. Он обновляет данные о виджетах, сохраненных в базе данных, чтобы они отображались в новой теме так же, как в предыдущей.
Метод принимает два аргумента:
$theme(обязательный) — объект темы, для которой происходит смена;$old_widgets(обязательный) — массив данных о виджетах, сохраненных в базе данных для предыдущей темы.
Метод возвращает массив данных о виджетах, которые будут использоваться в новой теме.
WP_Customize_Widgets::override_sidebars_widgets_for_theme_switch( $theme, $old_widgets ); Этот код используется для вызова метода override_sidebars_widgets_for_theme_switch() класса WP_Customize_Widgets с передачей двух аргументов: объекта темы $theme и массива данных о виджетах $old_widgets.
Метод переопределит виджеты боковой панели для новой темы, используя переданные аргументы, и вернет массив данных о виджетах, которые будут использоваться в новой теме.
parse_widget_id()
Метод parse_widget_id() класса WP_Customize_Widgets используется для преобразования идентификатора виджета в его составляющие — базу и номер.
WP_Customize_Widgets::parse_widget_id( string $widget_id ): array
Метод parse_widget_id() принимает один обязательный параметр:
$widget_id(string) — Идентификатор виджета.
$widget_id (string) — Обязательный. Идентификатор виджета.
Метод parse_widget_id() возвращает массив, содержащий базу и номер компонентов виджета.
<?php
/**
* Пример использования метода parse_widget_id()
*/
$widget_id = 'example_widget-1';
// Преобразование идентификатора виджета
$widget_components = WP_Customize_Widgets::parse_widget_id( $widget_id );
// Вывод базы и номера компонентов виджета
echo 'База виджета: ' . $widget_components['base'] . '<br>';
echo 'Номер виджета: ' . $widget_components['number'];
?>
В данном примере мы имеем идентификатор виджета example_widget-1. Метод parse_widget_id() преобразует этот идентификатор в массив, содержащий базу и номер компонентов виджета. Затем мы выводим базу и номер компонентов на экран.
parse_widget_setting_id()
Метод parse_widget_setting_id() класса WP_Customize_Widgets преобразует идентификатор настройки виджета (путь к опции) в его компоненты id_base и number.
WP_Customize_Widgets::parse_widget_setting_id( string $setting_id ): array|WP_Error Метод parse_widget_setting_id() принимает один обязательный параметр:
$setting_id(строка) — Обязательный. Идентификатор настройки виджета.
$setting_id (строка) — Обязательный. Идентификатор настройки виджета.
Метод parse_widget_setting_id() возвращает массив, содержащий компоненты id_base и number виджета, или объект WP_Error в случае ошибки.
<code>$setting_id = 'widget_text-2';</code>
<code>$parsed = WP_Customize_Widgets::parse_widget_setting_id( $setting_id );</code>
<code>if ( ! is_wp_error( $parsed ) ) {</code>
<code> $id_base = $parsed['id_base'];</code>
<code> $number = $parsed['number'];</code>
<code> echo "id_base: $id_base, number: $number";</code>
<code>}</code> В этом примере мы передаем идентификатор настройки виджета 'widget_text-2' в метод parse_widget_setting_id(). Затем мы проверяем, что результат не является объектом WP_Error. Если это так, мы получаем компоненты id_base и number из результата и выводим их на экран.
prepreview_added_sidebars_widgets()
Метод prepreview_added_sidebars_widgets() класса WP_Customize_Widgets является устаревшим и был заменен фильтром customize_dynamic_setting_args. Он предназначен для обработки виджетов, добавленных в боковые панели, перед их отображением в пользовательском интерфейсе.
Данный метод не имеет подробного описания и документации.
WP_Customize_Widgets::prepreview_added_sidebars_widgets();
Вызов метода prepreview_added_sidebars_widgets() позволяет обработать виджеты, добавленные в боковые панели, перед их отображением в пользовательском интерфейсе. Данный метод является устаревшим и рекомендуется использовать фильтр customize_dynamic_setting_args для этой цели.
prepreview_added_widget_instance()
Метод prepreview_added_widget_instance() является устаревшим и был заменен фильтром customize_dynamic_setting_args. Он отсутствует в документации WordPress и не имеет подробного описания.
WP_Customize_Widgets::prepreview_added_widget_instance();
Метод prepreview_added_widget_instance() используется для предварительного просмотра экземпляра виджета, добавленного в пользовательский интерфейс настройки темы WordPress. Он вызывается в процессе создания виджета и позволяет изменять аргументы динамических настроек.
preview_sidebars_widgets()
Метод preview_sidebars_widgets() класса WP_Customize_Widgets используется для обеспечения правильного предварительного просмотра виджетов при настройке.
WP_Customize_Widgets::preview_sidebars_widgets( array $sidebars_widgets ): array Метод preview_sidebars_widgets() принимает один обязательный параметр:
$sidebars_widgets(array) — Список виджетов для текущей боковой панели.
$sidebars_widgets (array) — Обязательный. Список виджетов для текущей боковой панели.
Метод preview_sidebars_widgets() возвращает массив.
<?php
/**
* Пример использования метода preview_sidebars_widgets()
*/
// Создаем экземпляр класса WP_Customize_Widgets
$customize_widgets = new WP_Customize_Widgets();
// Определяем список виджетов для текущей боковой панели
$sidebars_widgets = array(
'sidebar-1' => array(
'widget_text-1',
'widget_search-1',
'widget_categories-1'
),
'sidebar-2' => array(
'widget_text-2',
'widget_search-2',
'widget_categories-2'
)
);
// Получаем предварительный просмотр виджетов
$preview_widgets = $customize_widgets->preview_sidebars_widgets( $sidebars_widgets );
// Выводим результат
var_dump( $preview_widgets );
?> print_footer_scripts()
Метод print_footer_scripts() является методом класса WP_Customize_Widgets. Он вызывает хуки admin_print_footer_scripts и admin_print_scripts для разрешения использования пользовательских скриптов из плагинов.
Метод работает следующим образом: после вызова хуков admin_print_footer_scripts и admin_print_scripts, он позволяет плагинам добавлять свои собственные скрипты в подвал административной панели WordPress.
Этот метод используется для добавления пользовательских скриптов в административную панель WordPress. Он позволяет разработчикам плагинов добавлять дополнительную функциональность и настраивать виджеты в административной панели.
WP_Customize_Widgets::print_footer_scripts();
Выше приведен код, который вызывает метод print_footer_scripts() класса WP_Customize_Widgets. Этот метод позволяет добавлять пользовательские скрипты в подвал административной панели WordPress.
Рекомендуется вызывать этот метод внутри хука admin_print_footer_scripts или admin_print_scripts, чтобы убедиться, что скрипты будут добавлены в подвал административной панели.
print_preview_css()
Метод print_preview_css() класса WP_Customize_Widgets используется для вставки стилей по умолчанию для выделенного виджета на раннем этапе, чтобы тема могла переопределить их с помощью таблицы стилей.
WP_Customize_Widgets::print_preview_css();
Этот код вставляет стили по умолчанию для выделенного виджета на раннем этапе.
print_scripts()
Метод print_scripts() класса WP_Customize_Widgets вызывает хуки admin_print_scripts-widgets.php и admin_print_scripts, чтобы позволить подключение пользовательских скриптов из плагинов. Он используется для добавления дополнительных скриптов, которые могут быть необходимы для работы виджетов в пользовательской области администрирования WordPress.
Метод print_scripts() вызывает хуки admin_print_scripts-widgets.php и admin_print_scripts. Это позволяет подключать пользовательские скрипты из плагинов, которые могут быть необходимы для работы виджетов в пользовательской области администрирования WordPress.
WP_Customize_Widgets::print_scripts();
Вызов метода print_scripts() класса WP_Customize_Widgets позволяет подключить пользовательские скрипты, необходимые для работы виджетов в пользовательской области администрирования WordPress.
print_styles()
Метод print_styles() класса WP_Customize_Widgets вызывает хуки admin_print_styles-widgets.php и admin_print_styles для подключения пользовательских стилей из плагинов. Он позволяет добавлять дополнительные стили к виджетам в административной панели WordPress.
WP_Customize_Widgets::print_styles();
Вызов метода print_styles() осуществляется статически, без создания экземпляра класса WP_Customize_Widgets. Он не принимает никаких аргументов.
Метод print_styles() используется для подключения пользовательских стилей к виджетам в административной панели WordPress. Он вызывает хуки admin_print_styles-widgets.php и admin_print_styles, что позволяет плагинам добавлять свои собственные стили к виджетам.
refresh_nonces()
Метод refresh_nonces() класса WP_Customize_Widgets обновляет nonce для обновления виджетов.
WP_Customize_Widgets::refresh_nonces( array $nonces ): array Метод refresh_nonces() принимает один обязательный параметр $nonces, который является массивом нонсов.
$nonces (array) (обязательный): Массив нонсов.
Метод refresh_nonces() возвращает массив нонсов.
<code>// Обновление нонсов для виджетов
$nonces = array(
'nonce1' => wp_create_nonce( 'nonce1' ),
'nonce2' => wp_create_nonce( 'nonce2' ),
);
$refreshed_nonces = WP_Customize_Widgets::refresh_nonces( $nonces );</code> В приведенном примере кода мы создаем массив нонсов $nonces с двумя элементами. Затем мы вызываем метод refresh_nonces() класса WP_Customize_Widgets и передаем в него массив нонсов. Метод обновляет нонсы и возвращает массив обновленных нонсов $refreshed_nonces.
register_settings()
Метод register_settings() является частью класса WP_Customize_Widgets и используется для проверки входящих настроек виджетов и их динамической регистрации. Это позволяет правильно инициализировать виджеты.
WP_Customize_Widgets::register_settings(); Этот код используется для регистрации настроек виджетов. Он должен быть вызван в контексте хука customize_register для регистрации настроек виджетов.
Метод register_settings() выполняет следующие действия:
- Проверяет входящие настройки виджетов.
- Динамически добавляет настройки виджетов, чтобы виджеты были правильно инициализированы.
Этот метод обычно вызывается внутри функции обратного вызова хука customize_register. Он гарантирует, что все настройки виджетов будут зарегистрированы и доступны для использования в пользовательском интерфейсе настройки темы.
remove_prepreview_filters()
Метод remove_prepreview_filters() класса WP_Customize_Widgets является устаревшим и был заменен фильтром customize_dynamic_setting_args. Он не имеет подробного описания и документации.
WP_Customize_Widgets::remove_prepreview_filters();
Этот код вызывает метод remove_prepreview_filters() класса WP_Customize_Widgets. Так как метод устарел, рекомендуется использовать фильтр customize_dynamic_setting_args вместо него.
render_widget_partial()
Метод render_widget_partial() класса WP_Customize_Widgets используется для отображения определенного виджета с использованием предоставленных аргументов боковой панели.
Данный метод рендерит виджет, используя переданные аргументы боковой панели. Он принимает объект WP_Customize_Partial в качестве обязательного параметра, который представляет собой частичное представление виджета, и массив $context в качестве обязательного параметра, который представляет собой аргументы боковой панели.
WP_Customize_Widgets::render_widget_partial( WP_Customize_Partial $partial, array $context ): string|false Метод render_widget_partial() принимает два параметра: $partial (обязательный) и $context (обязательный). Он возвращает строку или логическое значение false.
$partial (обязательный): Объект WP_Customize_Partial. Представляет собой частичное представление виджета.
$context (обязательный): Массив. Представляет собой аргументы боковой панели, предоставляемые в качестве контекста контейнера. Включает в себя следующие параметры:
sidebar_id: ID боковой панели, в которую будет рендериться виджет.sidebar_instance_number: Число, определяющее порядковый номер экземпляра виджета.
Метод render_widget_partial() возвращает строку или логическое значение false.
<?php
/**
* Пример использования метода render_widget_partial()
*
* @param WP_Customize_Partial $partial Объект частичного представления виджета.
* @param array $context Аргументы боковой панели.
* - sidebar_id (string) ID боковой панели, в которую будет рендериться виджет.
* - sidebar_instance_number (int) Порядковый номер экземпляра виджета.
*
* @return string|false Возвращает строку или логическое значение false.
*/
$partial = new WP_Customize_Partial();
$context = array(
'sidebar_id' => 'sidebar-1',
'sidebar_instance_number' => 1
);
$result = WP_Customize_Widgets::render_widget_partial( $partial, $context );
?> sanitize_sidebar_widgets()
Метод sanitize_sidebar_widgets() класса WP_Customize_Widgets используется для обеспечения того, чтобы массивы виджетов боковой панели содержали только идентификаторы виджетов. Он проверяет каждый элемент массива виджетов и удаляет любые недопустимые значения, оставляя только идентификаторы виджетов.
WP_Customize_Widgets::sanitize_sidebar_widgets( string[] $widget_ids ): string[] Метод sanitize_sidebar_widgets() принимает один обязательный параметр:
$widget_ids(тип: массив строк, обязательный) — Массив идентификаторов виджетов.
Метод возвращает отфильтрованный массив идентификаторов виджетов.
/**
* Пример использования метода sanitize_sidebar_widgets()
*/
// Массив виджетов боковой панели
$sidebar_widgets = array(
'widget1',
'widget2',
'widget3',
'invalid_widget',
);
// Отфильтрованный массив виджетов боковой панели
$sanitized_widgets = WP_Customize_Widgets::sanitize_sidebar_widgets( $sidebar_widgets );
// Вывод отфильтрованного массива виджетов боковой панели
print_r( $sanitized_widgets );
В данном примере метод sanitize_sidebar_widgets() принимает массив виджетов боковой панели, содержащий идентификаторы виджетов, включая недопустимое значение «invalid_widget». Метод фильтрует массив и возвращает только допустимые идентификаторы виджетов. Результатом будет отфильтрованный массив виджетов боковой панели без недопустимого значения «invalid_widget».
$widget_ids(тип: массив строк, обязательный) — Массив идентификаторов виджетов, которые нужно отфильтровать.
Метод sanitize_sidebar_widgets() возвращает массив отфильтрованных идентификаторов виджетов боковой панели.
sanitize_sidebar_widgets_js_instance()
Метод sanitize_sidebar_widgets_js_instance() класса WP_Customize_Widgets используется для удаления идентификаторов виджетов, которые больше не зарегистрированы. Он принимает список идентификаторов виджетов и возвращает отфильтрованный список, в котором удалены идентификаторы виджетов, не зарегистрированных в системе.
WP_Customize_Widgets::sanitize_sidebar_widgets_js_instance( array $widget_ids ): array Метод sanitize_sidebar_widgets_js_instance() принимает один обязательный параметр:
$widget_ids(array) — Список идентификаторов виджетов, которые нужно отфильтровать.
$widget_ids (array) — Обязательный. Список идентификаторов виджетов. Каждый идентификатор должен быть строкой.
Метод sanitize_sidebar_widgets_js_instance() возвращает отфильтрованный список идентификаторов виджетов.
<code>// Пример использования метода sanitize_sidebar_widgets_js_instance()
$widget_ids = array(
'widget_id_1',
'widget_id_2',
'widget_id_3'
);
$filtered_widget_ids = WP_Customize_Widgets::sanitize_sidebar_widgets_js_instance( $widget_ids );
</code> sanitize_widget_instance()
Метод sanitize_widget_instance() класса WP_Customize_Widgets используется для санитизации экземпляра виджета.
Он принимает экземпляр виджета в качестве обязательного параметра и базу ID виджета в качестве необязательного параметра. Метод возвращает санитизированный экземпляр виджета или ничего (void).
Этот метод используется для очистки и проверки данных, введенных пользователем, перед сохранением экземпляра виджета. Он обеспечивает безопасность и целостность данных, а также предотвращает возможные атаки.
WP_Customize_Widgets::sanitize_widget_instance( array $value, string $id_base = null ): array|void Метод sanitize_widget_instance() принимает два параметра: $value (обязательный) — экземпляр виджета для санитизации, и $id_base (необязательный) — база ID виджета. Метод возвращает санитизированный экземпляр виджета или ничего (void).
$value(array) — Обязательный. Экземпляр виджета для санитизации.$id_base(string) — Необязательный. База ID виджета. По умолчанию: null.
Метод принимает экземпляр виджета в виде массива и базу ID виджета в виде строки.
Метод sanitize_widget_instance() возвращает санитизированный экземпляр виджета в виде массива или ничего (void).
<?php
/**
* Пример использования метода sanitize_widget_instance()
*
* @param array $value Экземпляр виджета для санитизации.
* @param string $id_base База ID виджета. По умолчанию: null.
*
* @return array|void Санитизированный экземпляр виджета.
*/
$value = array(
'title' => 'Example Widget',
'text' => '<script>alert("Hello World!");</script>',
);
$id_base = 'example_widget';
$sanitized_value = WP_Customize_Widgets::sanitize_widget_instance( $value, $id_base );
// $sanitized_value содержит санитизированный экземпляр виджета
?> В приведенном выше примере кода мы передаем экземпляр виджета в виде массива и базу ID виджета в метод sanitize_widget_instance(). Метод санитизирует экземпляр виджета и возвращает санитизированный экземпляр виджета.
sanitize_widget_js_instance()
Метод sanitize_widget_js_instance() класса WP_Customize_Widgets преобразует экземпляр виджета в формат JSON.
Данный метод используется для преобразования экземпляра виджета в формат JSON, чтобы его можно было сохранить и передать в JavaScript.
WP_Customize_Widgets::sanitize_widget_js_instance( array $value, string $id_base = null ): array Метод sanitize_widget_js_instance() принимает два параметра:
$value(обязательный) — Экземпляр виджета, который нужно преобразовать в JSON.$id_base(необязательный) — База ID виджета, который санитизируется. По умолчанию: null.
Метод возвращает преобразованный в JSON формат экземпляр виджета в виде массива.
$value— Обязательный. Экземпляр виджета, который нужно преобразовать в JSON.$id_base— Необязательный. База ID виджета, который санитизируется. По умолчанию: null.
Метод sanitize_widget_js_instance() возвращает преобразованный в JSON формат экземпляр виджета в виде массива.
<code>// Пример использования метода sanitize_widget_js_instance()
$instance = array(
'title' => 'My Widget',
'text' => 'Hello, World!',
'color' => '#ff0000'
);
$id_base = 'my_widget';
$sanitized_instance = WP_Customize_Widgets::sanitize_widget_js_instance( $instance, $id_base );
/*
Результат:
$sanitized_instance = array(
'title' => 'My Widget',
'text' => 'Hello, World!',
'color' => '#ff0000'
);
*/
schedule_customize_register()
Метод schedule_customize_register() класса WP_Customize_Widgets используется для обеспечения доступности виджетов для всех типов предварительного просмотра. Он позволяет зарегистрировать виджеты в пользовательском интерфейсе настройки темы WordPress, чтобы они были доступны для предварительного просмотра и настройки.
Метод schedule_customize_register() гарантирует, что виджеты будут доступны для всех типов предварительного просмотра, включая предварительный просмотр на сайте, в административной панели и в пользовательском интерфейсе настройки темы. Он обеспечивает синхронизацию виджетов между различными предварительными просмотрами и сохраняет их состояние при переключении между предварительными просмотрами.
WP_Customize_Widgets::schedule_customize_register();
Метод schedule_customize_register() вызывается без параметров и не возвращает значения. Он выполняет необходимые действия для регистрации виджетов в пользовательском интерфейсе настройки темы и обеспечения их доступности для всех типов предварительного просмотра.
Этот метод обычно вызывается в контексте хука customize_register, который используется для регистрации пользовательских настроек и элементов управления в пользовательском интерфейсе настройки темы. Вызов schedule_customize_register() гарантирует, что виджеты будут доступны для настройки и предварительного просмотра в пользовательском интерфейсе настройки темы.
selective_refresh_init()
Метод selective_refresh_init() добавляет хуки для селективного обновления виджетов. Он используется для обновления содержимого виджетов без перезагрузки всей страницы.
WP_Customize_Widgets::selective_refresh_init();
Этот код добавляет хуки для селективного обновления виджетов. Он должен быть вызван после инициализации объекта WP_Customize_Widgets.
Метод selective_refresh_init() работает следующим образом:
- Добавляет хук
customize_registerдля регистрации селективного обновления виджетов. - Добавляет хук
customize_preview_initдля инициализации селективного обновления виджетов в режиме превью. - Добавляет хук
customize_controls_enqueue_scriptsдля подключения JavaScript-файла, необходимого для селективного обновления виджетов в режиме настройки.
setup_widget_addition_previews()
Метод setup_widget_addition_previews() является устаревшим и был заменен фильтром customize_dynamic_setting_args. Он не имеет подробного описания и документации.
WP_Customize_Widgets::setup_widget_addition_previews();
Метод setup_widget_addition_previews() вызывается для настройки предварительного просмотра виджетов при добавлении их в пользовательскую панель управления (Customizer) WordPress. Он устанавливает аргументы для динамических настроек виджетов.
should_load_block_editor_scripts_and_styles()
Метод should_load_block_editor_scripts_and_styles() класса WP_Customize_Widgets используется для указания загрузки скриптов и стилей пользовательских блоков, если редактор виджетов блоков включен.
Метод проверяет текущее решение о загрузке ресурсов блоков и возвращает отфильтрованное решение.
WP_Customize_Widgets::should_load_block_editor_scripts_and_styles( bool $is_block_editor_screen ): bool Метод should_load_block_editor_scripts_and_styles() принимает один обязательный параметр:
$is_block_editor_screen(bool) — Текущее решение о загрузке ресурсов блоков.
$is_block_editor_screen(bool) — Обязательный. Текущее решение о загрузке ресурсов блоков.
Параметр $is_block_editor_screen определяет, должны ли загружаться скрипты и стили пользовательских блоков.
Метод should_load_block_editor_scripts_and_styles() возвращает отфильтрованное решение о загрузке ресурсов блоков.
Тип возвращаемого значения — bool.
<code>/**
* Пример использования метода should_load_block_editor_scripts_and_styles()
*
* @param bool $is_block_editor_screen Текущее решение о загрузке ресурсов блоков.
*
* @return bool Отфильтрованное решение о загрузке ресурсов блоков.
*/
function example_should_load_block_editor_scripts_and_styles( $is_block_editor_screen ) {
// Ваш код здесь.
// ...
return $is_block_editor_screen;
}
start_capturing_option_updates()
Метод start_capturing_option_updates() класса WP_Customize_Widgets используется для начала отслеживания изменений опций виджетов и кэширования новых значений.
Этот метод позволяет отслеживать изменения опций виджетов, чтобы использовать их в дальнейшем. Он кэширует новые значения опций виджетов, чтобы можно было получить доступ к ним позже.
WP_Customize_Widgets::start_capturing_option_updates(); Вызов этого метода позволяет начать отслеживание изменений опций виджетов и кэширование новых значений.
После вызова этого метода, все изменения опций виджетов будут отслеживаться и сохраняться для дальнейшего использования.
start_dynamic_sidebar()
Метод start_dynamic_sidebar() начинает отслеживать текущую боковую панель, которая отображается. Он используется для отслеживания боковых панелей, которые были зарегистрированы в теме и выводятся на странице.
WP_Customize_Widgets::start_dynamic_sidebar( int|string $index ) Метод start_dynamic_sidebar() принимает один обязательный параметр:
$index: Индекс, имя или ID динамической боковой панели (тип данных: int|string, обязательный).
Метод start_dynamic_sidebar() принимает следующий параметр:
$index: Индекс, имя или ID динамической боковой панели (тип данных: int|string, обязательный). Этот параметр указывает на боковую панель, которую нужно отслеживать.
<code>// Начинаем отслеживать боковую панель с индексом 'sidebar-1'
WP_Customize_Widgets::start_dynamic_sidebar( 'sidebar-1' );</code> В приведенном выше примере мы используем метод start_dynamic_sidebar() класса WP_Customize_Widgets, чтобы начать отслеживать боковую панель с индексом ‘sidebar-1’. Это позволяет нам отслеживать и управлять виджетами, которые выводятся в этой боковой панели.
stop_capturing_option_updates()
Метод stop_capturing_option_updates() класса WP_Customize_Widgets используется для отмены любых изменений в опциях, которые были сделаны после начала захвата опций. Он отменяет изменения, которые были сделаны в опциях, но еще не были сохранены.
Метод stop_capturing_option_updates() является частью класса WP_Customize_Widgets, который отвечает за настройку виджетов в пользовательском интерфейсе WordPress.
WP_Customize_Widgets::stop_capturing_option_updates();
Этот код вызывает метод stop_capturing_option_updates() класса WP_Customize_Widgets.
Метод stop_capturing_option_updates() используется для отмены изменений в опциях, которые были сделаны после начала захвата опций. Он полезен, когда необходимо отменить изменения, которые были сделаны в опциях, но еще не были сохранены.
tally_rendered_widgets()
Метод tally_rendered_widgets() класса WP_Customize_Widgets отслеживает виджеты, которые были отрисованы.
Метод работает следующим образом:
- Принимает в качестве параметра массив
$widget, который представляет отрисованный виджет. - Записывает информацию о виджете во внутренний массив класса
WP_Customize_Widgets.
Метод используется для отслеживания виджетов, которые были отрисованы на странице. Это может быть полезно, например, для анализа использования виджетов или для выполнения дополнительных действий после отрисовки определенного виджета.
WP_Customize_Widgets::tally_rendered_widgets( array $widget ) Метод tally_rendered_widgets() вызывается статически, используя класс WP_Customize_Widgets. Он принимает один обязательный параметр:
$widget(array) — Отрисованный виджет, который нужно учесть.
$widget (array) — Обязательный. Отрисованный виджет, который нужно учесть.
<?php
$widget = array(
'id' => 'my_widget',
'name' => 'My Widget',
'type' => 'text',
// Дополнительные параметры виджета
);
WP_Customize_Widgets::tally_rendered_widgets( $widget );
?> В приведенном выше примере кода создается массив $widget, который представляет отрисованный виджет. Затем метод tally_rendered_widgets() вызывается, передавая этот массив в качестве параметра.
tally_sidebars_via_dynamic_sidebar_calls()
Метод tally_sidebars_via_dynamic_sidebar_calls() класса WP_Customize_Widgets используется для подсчета боковых панелей, отображаемых с помощью функции dynamic_sidebar(). Он определяет, есть ли виджеты в текущей боковой панели.
WP_Customize_Widgets::tally_sidebars_via_dynamic_sidebar_calls( bool $has_widgets, string $sidebar_id ): bool Метод tally_sidebars_via_dynamic_sidebar_calls() принимает два параметра:
$has_widgets(обязательный) — указывает, есть ли виджеты в текущей боковой панели. Принимает значениеtrueилиfalse.$sidebar_id(обязательный) — идентификатор боковой панели.
Метод tally_sidebars_via_dynamic_sidebar_calls() возвращает значение типа bool, указывающее, есть ли виджеты в текущей боковой панели.
<?php
/**
* Пример использования метода tally_sidebars_via_dynamic_sidebar_calls()
*
* @param bool $has_widgets Whether the current sidebar has widgets.
* @param string $sidebar_id Sidebar ID.
*
* @return bool Whether the current sidebar has widgets.
*/
$has_widgets = WP_Customize_Widgets::tally_sidebars_via_dynamic_sidebar_calls( true, 'sidebar-1' );
?> tally_sidebars_via_is_active_sidebar_calls()
Метод tally_sidebars_via_is_active_sidebar_calls() класса WP_Customize_Widgets используется для подсчета боковых панелей, отображаемых с помощью функции is_active_sidebar(). Он определяет, является ли боковая панель активной, и возвращает логическое значение.
WP_Customize_Widgets::tally_sidebars_via_is_active_sidebar_calls( bool $is_active, string $sidebar_id ): bool Метод tally_sidebars_via_is_active_sidebar_calls() принимает два обязательных параметра: $is_active (логическое значение, указывающее, является ли боковая панель активной) и $sidebar_id (строка, идентифицирующая боковую панель). Он возвращает логическое значение, указывающее, является ли боковая панель активной.
$is_active (логическое значение, обязательно): Указывает, является ли боковая панель активной.
$sidebar_id (строка, обязательно): Идентификатор боковой панели.
Метод tally_sidebars_via_is_active_sidebar_calls() возвращает логическое значение, указывающее, является ли боковая панель активной.
<?php
/**
* Пример использования метода tally_sidebars_via_is_active_sidebar_calls()
*
* @param bool $is_active Указывает, является ли боковая панель активной.
* @param string $sidebar_id Идентификатор боковой панели.
*
* @return bool Является ли боковая панель активной.
*/
$is_active = true;
$sidebar_id = 'sidebar-1';
$result = WP_Customize_Widgets::tally_sidebars_via_is_active_sidebar_calls( $is_active, $sidebar_id );
?> wp_ajax_update_widget()
Метод wp_ajax_update_widget() является частью класса WP_Customize_Widgets и используется для асинхронного обновления настроек виджета.
Этот метод обновляет настройки виджета асинхронно, без перезагрузки страницы. Он вызывается при отправке AJAX-запроса и обрабатывает данные, переданные в запросе, чтобы обновить настройки виджета.
WP_Customize_Widgets::wp_ajax_update_widget() Этот метод является обработчиком AJAX-запроса для обновления виджета. Он вызывается при отправке AJAX-запроса и обрабатывает данные, переданные в запросе, чтобы обновить настройки виджета.
Внутри метода происходит следующее:
- Проверяется, что текущий пользователь имеет право обновлять виджеты.
- Получается идентификатор виджета и его настройки из данных запроса.
- Проверяется, что виджет с таким идентификатором существует и что пользователь имеет право его редактировать.
- Обновляются настройки виджета с помощью функции
update_option(). - Возвращается ответ в формате JSON с обновленными настройками виджета.
Этот метод используется внутри WordPress для обновления настроек виджета без перезагрузки страницы. Он может быть использован в пользовательских разработках для асинхронного обновления виджетов на фронтенде сайта.
_sort_name_callback()
Метод _sort_name_callback() класса WP_Customize_Widgets используется для естественной сортировки доступных виджетов по имени.
WP_Customize_Widgets::_sort_name_callback( array $widget_a, array $widget_b ): int Метод _sort_name_callback() принимает два параметра: $widget_a и $widget_b. Он сравнивает их и возвращает позицию для сортировки виджетов.
$widget_a (array) (обязательный): Первый виджет для сравнения.
$widget_b (array) (обязательный): Второй виджет для сравнения.
Метод _sort_name_callback() возвращает целое число — позицию для сортировки виджетов.
<?php
/**
* Пример использования метода _sort_name_callback()
*
* @param array $widget_a Первый виджет для сравнения.
* @param array $widget_b Второй виджет для сравнения.
*
* @return int Позиция для сортировки виджетов.
*/
function example_sort_name_callback( $widget_a, $widget_b ) {
// Ваш код для сравнения виджетов по имени
return $position;
}
?> __construct()
Метод «__construct()» является конструктором класса «WP_Customize_Widgets». Он выполняет инициализацию класса и загрузку необходимых файлов. Метод вызывается автоматически при создании нового объекта класса.
WP_Customize_Widgets::__construct( WP_Customize_Manager $manager ) Код выше представляет собой вызов конструктора класса «WP_Customize_Widgets» с параметром «$manager», который является экземпляром класса «WP_Customize_Manager».
$manager (обязательный) — экземпляр класса «WP_Customize_Manager». Это объект, который представляет собой экземпляр класса Customizer bootstrap и используется для управления настройками и виджетами.
<code>$manager</code> = new <code>WP_Customize_Manager</code>();
$widgets = new <code>WP_Customize_Widgets</code>( $manager ); В приведенном выше примере создается экземпляр класса «WP_Customize_Manager» с помощью конструктора «__construct()». Затем создается экземпляр класса «WP_Customize_Widgets» с параметром «$manager», который является экземпляром класса «WP_Customize_Manager».
Примеры использования
Инициализация класса WP_Customize_Widgets
$customize_widgets = new WP_Customize_Widgets();
Данный код создает новый экземпляр класса WP_Customize_Widgets и сохраняет его в переменной $customize_widgets.
Сортировка доступных виджетов по имени
$customize_widgets->_sort_name_callback( $widget_a, $widget_b );
Данный метод принимает два аргумента: $widget_a и $widget_b — объекты виджетов. Он сортирует эти виджеты по их именам и возвращает результат сравнения.
Вызов обновления и управления виджетами
$customize_widgets->call_widget_update( $widget_id, $widget_instance );
Данный метод принимает два аргумента: $widget_id — идентификатор виджета и $widget_instance — объект виджета. Он находит и вызывает обновление и управление виджетами для указанного виджета.
Предварительная фильтрация значений захваченных опций
$customize_widgets->capture_filter_pre_get_option( $value, $option, $default );
Данный метод принимает три аргумента: $value — значение опции, $option — имя опции и $default — значение по умолчанию. Он предварительно фильтрует захваченные значения опций перед их получением.
Подсчет захваченных обновлений опций виджетов
$customize_widgets->count_captured_options();
Данный метод возвращает количество захваченных обновлений опций виджетов.
Регистрация настроек и элементов управления Customizer для боковых панелей и виджетов
$customize_widgets->customize_register( $wp_customize );
Данный метод принимает один аргумент: $wp_customize — объект класса WP_Customize_Manager. Он регистрирует настройки и элементы управления Customizer для боковых панелей и виджетов.
Завершение отслеживания текущей боковой панели
$customize_widgets->end_dynamic_sidebar();
Данный метод завершает отслеживание текущей боковой панели, которая рендерится.
Подключение скриптов для предварительного просмотра Customizer
$customize_widgets->customize_preview_enqueue();
Данный метод подключает скрипты для предварительного просмотра Customizer.
Добавление хуков для предварительного просмотра Customizer
$customize_widgets->customize_preview_init();
Данный метод добавляет хуки для предварительного просмотра Customizer.
Получение доступных виджетов
$customize_widgets->get_available_widgets();
Данный метод возвращает индекс всех доступных виджетов для использования в моделях Backbone.
Получение захваченной опции
$customize_widgets->get_captured_option( $option );
Данный метод принимает один аргумент: $option — имя опции. Он возвращает захваченную опцию, которая была сохранена.
Определение активности панели виджетов
$customize_widgets->is_panel_active();
Данный метод определяет, активна ли панель виджетов, основываясь на наличии зарегистрированных боковых панелей.
Определение отображения боковой панели
$customize_widgets->is_sidebar_rendered( $sidebar_id );
Данный метод принимает один аргумент: $sidebar_id — идентификатор боковой панели. Он определяет, отображается ли указанная боковая панель на странице.
Определение отображения виджета
$customize_widgets->is_widget_rendered( $widget_id );
Данный метод принимает один аргумент: $widget_id — идентификатор виджета. Он определяет, отображается ли указанный виджет на странице.
Определение поддержки выборочного обновления виджета
$customize_widgets->is_widget_selective_refreshable( $widget_id );
Данный метод принимает один аргумент: $widget_id — идентификатор виджета. Он определяет, поддерживает ли указанный виджет выборочное обновление.
Вывод шаблонов элементов управления виджетами
$customize_widgets->output_widget_control_templates();
Данный метод выводит шаблоны элементов управления виджетами в DOM.
Переопределение боковых панелей для смены темы
$customize_widgets->override_sidebars_widgets_for_theme_switch( $sidebars_widgets );
Данный метод принимает один аргумент: $sidebars_widgets — массив боковых панелей и виджетов. Он переопределяет боковые панели для смены темы.
Преобразование ID виджета
$customize_widgets->parse_widget_id( $widget_id );
Данный метод принимает один аргумент: $widget_id — идентификатор виджета. Он преобразует идентификатор виджета в его компоненты id_base и number.
Преобразование ID настроек виджета
$customize_widgets->parse_widget_setting_id( $setting_id );
Данный метод принимает один аргумент: $setting_id — идентификатор настройки виджета. Он преобразует идентификатор настройки виджета в его компоненты id_base и number.
Предварительное добавление боковых панелей и виджетов
$customize_widgets->prepreview_added_sidebars_widgets( $sidebars_widgets );
Данный метод принимает один аргумент: $sidebars_widgets — массив боковых панелей и виджетов. Он предварительно добавляет боковые панели и виджеты.
Обновление виджета асинхронно
$customize_widgets->wp_ajax_update_widget();
Данный метод обновляет настройки виджета асинхронно.
Вопросы и ответы
Как добавить новый виджет в Customizer?
Для добавления нового виджета в Customizer необходимо использовать метод customize_register класса WP_Customize_Widgets. В этом методе регистрируются настройки и элементы управления для виджетов.
add_action( 'customize_register', function( $wp_customize ) {
$wp_customize->register_control_type( 'WP_Widget_Customize_Control' );
$wp_customize->register_section_type( 'WP_Widget_Customize_Section' );
$wp_customize->register_panel_type( 'WP_Widget_Customize_Panel' );
$wp_customize->register_setting_type( 'WP_Widget_Customize_Setting' );
$wp_customize->register_partial_type( 'WP_Widget_Customize_Partial' );
} );
Как изменить настройки виджета в Customizer?
Для изменения настроек виджета в Customizer используется метод customize_register класса WP_Customize_Widgets. В этом методе можно зарегистрировать новые настройки и элементы управления для виджета.
add_action( 'customize_register', function( $wp_customize ) {
$wp_customize->add_setting( 'widget_text', array(
'default' => '',
'type' => 'option',
'capability' => 'edit_theme_options',
'transport' => 'postMessage',
'sanitize_callback' => 'sanitize_text_field',
) );
$wp_customize->add_control( 'widget_text', array(
'label' => __( 'Text Widget' ),
'section' => 'sidebar-widgets',
'type' => 'text',
) );
} );
Как удалить виджет из Customizer?
Для удаления виджета из Customizer необходимо использовать метод customize_register класса WP_Customize_Widgets. В этом методе можно удалить настройки и элементы управления для виджета.
add_action( 'customize_register', function( $wp_customize ) {
$wp_customize->remove_setting( 'widget_text' );
$wp_customize->remove_control( 'widget_text' );
} );
Как изменить порядок виджетов в Customizer?
Для изменения порядка виджетов в Customizer необходимо использовать метод customize_register класса WP_Customize_Widgets. В этом методе можно зарегистрировать настройки и элементы управления для виджетов, а также указать порядок их отображения.
add_action( 'customize_register', function( $wp_customize ) {
$wp_customize->register_settings();
$wp_customize->register_controls();
} );
Как настроить селективное обновление виджетов в Customizer?
Для настройки селективного обновления виджетов в Customizer необходимо использовать метод customize_preview_init класса WP_Customize_Widgets. В этом методе можно добавить хуки для селективного обновления виджетов при изменении их настроек.
add_action( 'customize_preview_init', function() {
$wp_customize_widgets = new WP_Customize_Widgets();
$wp_customize_widgets->customize_preview_init();
} );
Как настроить виджеты для разных сайдбаров в Customizer?
Для настройки виджетов для разных сайдбаров в Customizer необходимо использовать метод customize_register класса WP_Customize_Widgets. В этом методе можно зарегистрировать настройки и элементы управления для каждого сайдбара.
add_action( 'customize_register', function( $wp_customize ) {
$wp_customize->register_settings();
$wp_customize->register_controls();
$wp_customize->customize_register();
} );
Как настроить виджеты для разных тем в Customizer?
Для настройки виджетов для разных тем в Customizer необходимо зарегистрировать настройки и элементы управления в функции customize_register. В этой функции можно указать, какие виджеты доступны для каждой темы.
function my_customize_register( $wp_customize ) {
$wp_customize->register_control_type( 'WP_Customize_Widgets' );
$wp_customize->add_section( 'my_widget_section', array(
'title' => __( 'My Widget Section', 'textdomain' ),
'priority' => 30,
) );
$wp_customize->add_setting( 'my_widget_setting', array(
'default' => '',
'sanitize_callback' => 'sanitize_text_field',
) );
$wp_customize->add_control( new WP_Customize_Widgets( $wp_customize, 'my_widget_control', array(
'label' => __( 'My Widget Control', 'textdomain' ),
'section' => 'my_widget_section',
'settings' => 'my_widget_setting',
) ) );
}
add_action( 'customize_register', 'my_customize_register' ); Как настроить ширину виджетов в Customizer?
Для настройки ширины виджетов в Customizer можно использовать метод is_wide_widget класса WP_Customize_Widgets. Этот метод позволяет определить, является ли виджет «широким» и соответственно применить к нему нужные стили.
$widget_id = 'my_widget_id';
if ( WP_Customize_Widgets::is_wide_widget( $widget_id ) ) {
// Применить стили для широкого виджета
} Как настроить скрипты и стили для Customizer панели и предпросмотра?
Для настройки скриптов и стилей для Customizer панели и предпросмотра можно использовать методы enqueue_scripts, enqueue_styles, print_scripts и print_styles класса WP_Customize_Widgets. Эти методы позволяют добавить необходимые скрипты и стили в Customizer.
function my_customize_enqueue_scripts() {
WP_Customize_Widgets::enqueue_scripts();
}
add_action( 'customize_controls_enqueue_scripts', 'my_customize_enqueue_scripts' );
function my_customize_enqueue_styles() {
WP_Customize_Widgets::enqueue_styles();
}
add_action( 'customize_controls_print_styles', 'my_customize_enqueue_styles' );
function my_customize_print_scripts() {
WP_Customize_Widgets::print_scripts();
}
add_action( 'customize_controls_print_scripts', 'my_customize_print_scripts' );
function my_customize_print_styles() {
WP_Customize_Widgets::print_styles();
}
add_action( 'customize_controls_print_styles', 'my_customize_print_styles' ); Класс
WP_Customize_Widgetsпредоставляет возможность настраивать виджеты в Customizer. С его помощью можно настроить виджеты для разных тем, управлять шириной виджетов и добавлять скрипты и стили для Customizer панели и предпросмотра.