su5adS0kov 10.01.2023 02:07

Как создать и настроить пользовательский виджет со случайно отображаемыми цитатами на сайте в Wordpress?

Здравствуйте! Я хотел бы создать пользовательский виджет со случайно отображаемыми цитатами на своем сайте в WordPress. Я искал информацию в Интернете, но не нашел полной инструкции по этому вопросу. Можете ли вы помочь мне разобраться? Я хочу, чтобы виджет отображал случайную цитату из определенного списка каждый раз, когда пользователь обновляет страницу. Идеально было бы иметь возможность настраивать этот список цитат в административной панели WordPress. Вот пример кода, который я использую в данный момент, но он показывает только одну цитату:

function random_quote_widget() {
  $quotes = array(
    "Цитата 1",
    "Цитата 2",
    "Цитата 3"
  );

  $random_quote = $quotes[rand(0, count($quotes) - 1)];

  echo '
' . $random_quote . '
'; } function register_quote_widget() { register_widget('Random_Quote_Widget'); } add_action('widgets_init', 'register_quote_widget');
Можете ли вы помочь мне изменить этот код, чтобы виджет отображал случайную цитату из списка? Спасибо большое за вашу помощь! Я очень ценю ваше время и знания.

Ответы:

nikadoktor35 10.01.2023 02:15
Конечно, я могу помочь вам изменить ваш код, чтобы виджет отображал случайную цитату из списка. Вам понадобится добавить возможность настраивать список цитат в административной панели 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 '
' . $random_quote . '
'; 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. Теперь вы можете использовать виджет "Случайная цитата" и настраивать список цитат в административной панели. Каждый раз, когда пользователь обновляет страницу, виджет будет отображать случайную цитату из списка. Я надеюсь, что это поможет вам разобраться и достичь желаемого результата. Если у вас возникнут еще вопросы, пожалуйста, не стесняйтесь задавать их. Удачи вам!

Добавить ответ