Асинхронный rss виджет для wordpress

Как-то я уже писал про добавление rss ленты из fluxbb в wordpress. В тот раз я использовал дефолтный виджет. И когда сайт переехал на https, он, внезапно, перестал работать.

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

Почему асинхронный?

Да потому, что глупо ждать на стороне сервера, пока скачается rss лента. А если ещё и сервер rss тормозит, то загрузка страницы может сильно затянуться.

В моём случае, мы сперва отдадим страницу, и затем уже из браузера клиента пошлём запрос за лентой.

RSS виджет

Добавляем стандартный текстовый виджет:
wordpress text widget

В нём мы разместим наш код. Сперва добавляем html элемент, куда мы разместим контент:

В data-src — копируем путь к рсс ленте.
В data-count — максимальное количество записей в ленте.
Внутри script разместим сам js код.

Теперь нужно получить переменные и проверить их:

Затем пишем функцию по загрузке ленты:

wordpress rss widget

Сохраняемся, обновляем страницу, и если всё ок, то нам должен показаться алерт с xml объектом. Его (xml) будем парсить обычным jquery. С ним можно работать так же, как с html:

Так же, чтобы не использовать дополнительные библиотеки, напишем небольшую функцию по конвертации даты к Русскому формату:

В итоге весь виджет, вместе с html, будет выглядеть так:

Просто скопируйте, вставьте нужный урл в ul id=»rssfeed» и всё должно работать.

Рекомендуем

  • Вывод текста на определённой странице wordpress (0)
    Стандартный функционал wordpress не позволяет вывести текст в сайдбаре только на одной конкретной странице. Быстрое гугление этой проблемы обычно подкидывает варианты вроде: Вставьте […]
  • Переводим wordpress на HTTPS + nginx (0)
    Если Вы ещё не в курсе, гугл уже давно https сайты ранжирует выше, чем http. А в ближайших планах он начнёт помечать все http сайты как небезопасные. К счастью "Let's Encrypt" […]
  • Интеграция Fluxbb в wordpress (0)
    Есть у меня один подопечный сайт на wordpress и там же форум на fluxbb. И появилась мысль воткнуть виджет с активными темами на форуме. Беглое гугление по вордпресовской базе виджетов […]
  • Apache jmeter, нагрузочное тестирование веб-сайтов (0)
    Наверняка Вам интересно, какую нагрузку может выдержать Ваш веб-сайт? Сколько нужно пользователей, чтобы ваш сайт начала тормозить? Либо совсем упасть? Сегодня мы при помощи apache jmeter […]

About Author:

Leave A Comment

Ваш e-mail не будет опубликован. Обязательные поля помечены *