От автора: у отображения вашей активности в социальных сетях на сайте есть огромные преимущества. Это раскрывает вас со стороны авторитетного эксперта, а также показывает вашим читателям, что вы активный участник в своей категории. Лучше всего то, что отображение активности в социальных сетях в WordPress не составляет труда.
Чтобы показывать активность из социальных сетей на сайте, вам придется парсить RSS-канал вашего аккаунта. В этом вам помогут встроенные в WP библиотеки SimplePie и FeedCache, благодаря которым можно вызвать очень простую функцию fetch_feed. В WordPress Codex вы найдете очень полезный кусок кода, а в этой статье мы покажем вам весь процесс, как найти и распарсить канал.
Шаг 1: Найдите свой канал социальной сети
Сперва необходимо найти свой RSS-канал в социальных сетях. Мы рассмотрим 3 популярных социальных сети: Facebook*, Twitter и Reddit.
Для Facebook*: Выполните все, что сказано по ссылке и с помощью Zapier вытягивайте RSS-новости с любой страницы Facebook*.
Для Twitter: Вытянуть ленту можно с помощью TwitRSS.me.
Для Reddit: В Reddit можно получить прямую ссылку на ваш RSS-канал. Просто вставьте ваше имя пользователя в ссылку: //www.reddit.com/user/YourUsernameHere/.rss
Шаг 2: Парсите канал и отображайте новости на сайте
Теперь мы воспользуемся функцией fetch_feed и будем вытягивать RSS-новости и показывать их в любом месте на сайте. WordPress.org любезно предоставил нам код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
<h2><?php _e( 'Recent news from Some-Other Blog:', 'my-text-domain' ); ?></h2> <?php // Get RSS Feed(s) include_once( ABSPATH . WPINC . '/feed.php' ); // Получаем объект канала SimplePie по заданной ссылке. $rss = fetch_feed( '//example.com/rss/feed/goes/here' ); $maxitems = 0; if ( ! is_wp_error( $rss ) ) : // Checks that the object is created correctly // Вычисляем общее количество новостей и ограничиваем их до 5. $maxitems = $rss->get_item_quantity( 5 ); // Создаем массив всех новостей, начиная с 0 (первая новость). $rss_items = $rss->get_items( 0, $maxitems ); endif; ?> <ul> <?php if ( $maxitems == 0 ) : ?> <li><?php _e( 'No items', 'my-text-domain' ); ?></li> <?php else : ?> <?php // Проходимся циклом по каждой новости и показываем ее в виде ссылки. ?> <?php foreach ( $rss_items as $item ) : ?> <li> <a href="<?php echo esc_url( $item->get_permalink() ); ?>" title="<?php printf( __( 'Posted %s', 'my-text-domain' ), $item->get_date('j F Y | g:i a') ); ?>"> <?php echo esc_html( $item->get_title() ); ?> </a> </li> <?php endforeach; ?> <?php endif; ?> </ul> |
Код выше генерирует 5 ссылок, все ссылки это ваши последние действия в социальных сетях. Если вы создали 5 постов на Reddit, то ссылки будут вести к этим постам. Скопируйте этот код в файл sidebar.php. И не забудьте сменить «example.com» на ваш RSS-канал. Осталось, чтобы код заработал.
К примеру, вы хотите показывать ленту в сайдбаре. Для этого зайдите в панель администратора в Appearance затем Editor. Там вы увидите список .php файлов, вам нужен файл sidebar.php – кликните на него. Вставьте код выше и обновите файл. Все, теперь в сайдбаре показываются последние действия из социальных сетей.
Заключение
Это простой и гибкий метод отображения активности в социальных сетях на вашем сайте. По желанию код можно изменить, а также вставить в другие файлы .php. Хотя многие считают RSS устаревшим, это все еще мощное средство, с помощью которого можно держать ваших пользователей в курсе вашей активности.
Автор: Ian Chandler
Источник: //www.sitepoint.com/
Редакция: Команда webformyself.
* Признана экстремистской организацией и запрещена в Российской Федерации.