Функция wp_widget_rss_form()
в WordPress используется для генерации формы настроек RSS-виджета на панели администратора. Она автоматически создает поля для ввода URL RSS-ленты и других параметров, необходимых для настройки виджета. Это позволяет пользователям настраивать RSS-ленты, которые будут отображаться на сайте, не требуя дополнительного кода.
wp_widget_rss_form( array|string $args, array $inputs = null )
Функция wp_widget_rss_form()
упрощает создание стандартных полей для RSS-виджета, включая такие настройки, как URL ленты, количество отображаемых элементов, а также возможность показать автора, дату и краткое описание. Эти параметры делают форму гибкой и позволяют настроить виджет в зависимости от предпочтений пользователя.
Параметры
- $args (array|string, обязателен): Набор значений для полей ввода в форме.
- $inputs (array, необязателен): Определяет, какие настройки будут отображены в форме. По умолчанию
null
, что означает, что все стандартные поля (URL, заголовок, количество элементов, краткое описание, автор, дата) будут включены.
Пример 1: Базовое использование функции
Создание простой формы с URL для RSS-ленты. Этот пример предполагает использование класса виджета, который наследуется от WP_Widget
.
class My_Custom_RSS_Widget extends WP_Widget {
function __construct() {
parent::__construct('my_custom_rss_widget', 'Мой RSS-виджет');
}
function form($instance) {
$args = array(
'url' => isset($instance['url']) ? $instance['url'] : 'https://example.com/feed',
);
wp_widget_rss_form($args);
}
}
Пример 2: Использование всех доступных параметров
В этом примере мы добавляем настройки для отображения автора, даты и описания для каждого элемента RSS-ленты.
class My_Custom_RSS_Widget extends WP_Widget {
function __construct() {
parent::__construct('my_custom_rss_widget', 'Расширенный RSS-виджет');
}
function form($instance) {
$args = array(
'url' => isset($instance['url']) ? $instance['url'] : 'https://example.com/feed',
'title' => isset($instance['title']) ? $instance['title'] : 'Моя RSS-лента',
'items' => isset($instance['items']) ? $instance['items'] : 5,
'show_summary' => isset($instance['show_summary']) ? $instance['show_summary'] : true,
'show_author' => isset($instance['show_author']) ? $instance['show_author'] : false,
'show_date' => isset($instance['show_date']) ? $instance['show_date'] : true,
);
wp_widget_rss_form($args);
}
}
Пример 3: Формирование формы с несколькими RSS-лентами
Если нужно отобразить несколько форм для различных RSS-лент в одном виджете, можно использовать массив с разными URL и вызвать wp_widget_rss_form()
для каждого из них.
class Multi_RSS_Widget extends WP_Widget {
function __construct() {
parent::__construct('multi_rss_widget', 'Виджет с несколькими RSS-лентами');
}
function form($instance) {
$feeds = array(
'https://example1.com/feed',
'https://example2.com/feed',
'https://example3.com/feed'
);
foreach ($feeds as $key => $feed_url) {
echo "<h3>Лента {$key}</h3>";
$args = array(
'url' => isset($instance["feed_{$key}_url"]) ? $instance["feed_{$key}_url"] : $feed_url
);
wp_widget_rss_form($args);
}
}
}
Заключение
Функция wp_widget_rss_form()
значительно упрощает процесс создания форм для RSS-виджетов в WordPress. Она создает стандартные поля, которые можно легко настраивать, чтобы дать пользователю гибкость в управлении отображением RSS-лент на сайте. Эта функция позволяет добавлять динамическое содержимое на WordPress-сайты и улучшает пользовательский опыт за счет отображения актуальной информации.