Как создать и настроить пользовательский виджет со случайно отображаемыми цитатами на сайте в Wordpress?
function random_quote_widget() {
$quotes = array(
"Цитата 1",
"Цитата 2",
"Цитата 3"
);
$random_quote = $quotes[rand(0, count($quotes) - 1)];
echo '';
}
function register_quote_widget() {
register_widget('Random_Quote_Widget');
}
add_action('widgets_init', 'register_quote_widget');
Можете ли вы помочь мне изменить этот код, чтобы виджет отображал случайную цитату из списка?
Спасибо большое за вашу помощь! Я очень ценю ваше время и знания. Ответы:
Конечно, я могу помочь вам изменить ваш код, чтобы виджет отображал случайную цитату из списка. Вам понадобится добавить возможность настраивать список цитат в административной панели WordPress с помощью функции register_widget_control().
Вот пример измененного кода:
class Random_Quote_Widget extends WP_Widget {
function __construct() {
parent::__construct(
'random_quote_widget', // ID виджета
'Случайная цитата', // Название виджета
array('description' => 'Виджет для отображения случайной цитаты') // Описание виджета
);
}
// Вывод виджета на фронтенде
function widget($args, $instance) {
$title = apply_filters('widget_title', $instance['title']);
$quotes = explode("n", $instance['quotes']); // Разделить список цитат на строки
$random_quote = $quotes[rand(0, count($quotes) - 1)];
echo $args['before_widget'];
if (!empty($title)) {
echo $args['before_title'] . $title . $args['after_title'];
}
echo '';
echo $args['after_widget'];
}
// Форма настройки виджета в административной панели
function form($instance) {
$title = !empty($instance['title']) ? $instance['title'] : '';
$quotes = !empty($instance['quotes']) ? $instance['quotes'] : '';
?>
В этом примере я создал класс виджета Random_Quote_Widget, который наследуется от WP_Widget. В этом классе определены функции widget(), form() и update() для вывода виджета на фронтенде, формы настройки виджета и обновления настроек соответственно. Я также добавил возможность настраивать заголовок и список цитат через административную панель WordPress.
Теперь вы можете использовать виджет "Случайная цитата" и настраивать список цитат в административной панели. Каждый раз, когда пользователь обновляет страницу, виджет будет отображать случайную цитату из списка.
Я надеюсь, что это поможет вам разобраться и достичь желаемого результата. Если у вас возникнут еще вопросы, пожалуйста, не стесняйтесь задавать их. Удачи вам!