mojwp.ru
Назад

Как заставить работать PHP-код в виджете WordPress

Опубликовано: 12.02.2014
6
792

php в виджете wordpressИногда необходимо заставить работать php-код в виджете сайта на WordPress. Можно использовать плагин, который это сделает. Но я вам покажу как сделать подобное без использования плагинов.

При помощи хака мы облегчим свой блог и добьемся необходимого результата за минуту.

Кто не любит ковыряться в коде, может использовать плагин WP PHP widget.

Остальные открывают файл функций шаблона functions.php, который будет лежать в вашей папке с шаблоном на хостинге. Сразу после <?php и с новой строки вставляем следующий код:

//Включаем php-код в виджете
function php_in_widgets($widget_content) {
	if (strpos($widget_content, '<' . '?') !== false) {
		ob_start();
		eval('?' . '>' . $widget_content);
		$widget_content = ob_get_contents();
		ob_end_clean();
	}
	return $widget_content;
}
add_filter('widget_text', 'php_in_widgets', 99);

Сохраняем файл и закидываем его на хостинг. Теперь любой код php будет работать в стандартном виджете "Текст" по вашему сайту.

php в виджете wordpress

Как использовать полученную информацию?

Один из вариантов применения я описывал ранее в статье Миниатюры последних записей в сайдбаре. Таким же образом мы можем выводить последние записи, комментарии, статистическую информацию о сайте (у меня виджет предпоследний с количеством статей и комментариями), установить ротатор баннеров или прочей информации.

Возьмем к примеру сайт www.konstar.ru, который продает фаскосниматель (инструмент для обработки труб): можно в сайдбаре организовать ротатор товара или услуг, чтобы дополнительно привлечь внимание клиента. Это повысит % конверсии, т.к. не всегда человек попадает с поисковой выдачи на нужную страницу.

Автор:
Виталий
Поделиться
Похожие записи
Черкани пару строк
  • Артём Черкасов
    Опубликовано: 13.02.2014 Ответить на сообщение

    Not bad 😉

  • Александр
    Опубликовано: 19.12.2014 Ответить на сообщение

    Установил штука "бомба", сделал вывод последних статей и рубрик через ajax. Но вот не пойму почему в футере на главной метод работает через , а в футере, когда находишься на странице рубрики или поста нет? В чем может быть проблема?

    • Виталий
      Опубликовано: 20.12.2014 Ответить на сообщение

      Не подскажу. Нужно видеть код и как у вас сделано

  • Виктор
    Опубликовано: 16.12.2015 Ответить на сообщение

    Огромное спасибо.
    Этот код публикуют многие, но ни один из них, не смог внятно объяснить, куда его вставлять.
    Еще раз спасибо!

  • Марина
    Опубликовано: 16.06.2017 Ответить на сообщение

    Здравствуйте! На вордпресс 4.8 не работает ваш код.
    Перепробовала все коды которые нашла в инете, НЕ работает.

  • Павел
    Опубликовано: 24.02.2019 Ответить на сообщение

    WordPress 5.1 - код не работает(

Имя
Укажите своё имя и фамилию
E-mail
Без СПАМа, обещаем
Текст сообщения
Отправляя данную форму, вы соглашаетесь с политикой конфиденциальности и правилами нашего сайта.