Создание виджета в WordPress — это простой процесс и может быть выполнен следующими шагами:
- Создайте класс для вашего виджета
Начните с создания нового класса для виджета. Вам необходимо создать класс в файле functions.php вашей темы WordPress. Создайте новый PHP-файл и назовите его, например «my-widget.php». Откройте его и напишите следующий код:
class My_Widget extends WP_Widget {
// здесь нужно добавить код конструктора класса
}
- Задайте свойства виджета
После того, как вы создали класс виджета, добавьте необходимые свойства. Некоторые из них обязательны для корректной работы виджета. Например, следующий код добавляет имя и описание виджета, которые будут отображаться в админ-панели:
public function __construct() {
parent::__construct(
// ID виджета
'my_widget',
// Название виджета, которое будет отображаться в админ-панели
__('Мой виджет', 'my_widget_domain'),
// Описание виджета
array('description' => __('Это мой первый виджет', 'my_widget_domain'))
);
}
- Добавьте функцию вывода содержимого виджета
Теперь добавьте функцию, которая будет вызываться, когда виджет будет отображаться. Например:
public function widget($args, $instance) {
echo $args['before_widget'];
// Вывод содержимого виджета
echo '<h2>' . apply_filters('widget_title', $instance['title']) . '</h2>';
echo $args['after_widget'];
}
Эта функция выводит HTML-код виджета, включая его заголовок и содержимое.
- Добавьте функцию формы для настройки виджета
Теперь вам нужно добавить функцию, которая создаст форму для настройки виджета в админ-панели. Например:
public function form($instance) {
$title = isset($instance['title']) ? $instance['title'] : __('Новый заголовок', 'my_widget_domain');
// Отображение формы для настройки виджета
?>
<p>
<label for="<?php echo $this->get_field_id('title'); ?>"><?php _e('Заголовок:', 'my_widget_domain'); ?></label>
<input class="widefat" id="<?php echo $this->get_field_id('title'); ?>" name="<?php echo $this->get_field_name('title'); ?>" type="text" value="<?php echo esc_attr($title); ?>" />
</p>
<?php
}
Эта функция создает форму для настройки виджета, которая будет отображена в админ-панели.
- Зарегистрируйте виджет
Наконец, зарегистрируйте новый виджет с помощью функции register_widget()
в файле functions.php вашей темы WordPress. Например:
function register_my_widget() {
register_widget('My_Widget');
}
add_action('widgets_init', 'register_my_widget');
Теперь ваш виджет готов к использованию и может быть добавлен на любую боковую панель в WordPress админ-панели. Вы можете настроить виджет в соответствии с вашими потребностями и требованиями.