Intereting Posts
WP не распознает персонализированный тип / шаблон сообщения Использовать шаблон страницы вместо персонализированного архива типа сообщения Могу ли я создать термин таксономии, который отражает название новой персонализированной почты? Создать пост с REST API в php с файлом_get_contents как я могу определить, что значение параметра изменилось? Почтовое и избранное изображение имеют одно и то же имя, почему отображается вложение (изображение), а не сообщение? Повторная помощь по расписанию Показывать только начало публикации Переведите дочернюю тему с помощью чистого PHP и gettext Почему плохо использовать GUID? Форма комментариев Ajax представляет на главной странице оповещения об успешности, но без вставки Добавить предопределенные значения в настраиваемый плагин post Несколько блогов WordPress на одном хосте, используя 1 установку WordPress, используя несколько шаблонов Перепишите загрузку пользовательского файла шаблона, но is_home () возвращает true, и нет 404 Нет ли простого способа отобразить отдельный второй уровень с помощью wp_nav_menu ()?

Как потреблять и отображать внешние данные в WordPress с другого веб-сайта

Я пытаюсь получить доступ к данным с другого веб-сайта для отображения на веб-сайте WordPress, который я разрабатываю. Пока у меня есть следующее:

<?php /* Template Name: Testing remote data */ get_header(); <div class="main"> <div class="col-sm-12"> <header> <h2>Testing remote data</h2> </header> </div> <div class="container"> <div id="content" role="main"> <div class="col-sm-12"> <?php $url = 'http://www.bbc.co.uk/news/';// this url is only for example purposes $request = wp_remote_get( $url ); if(is_wp_error($request)) { return false; } else { $body = $request['body']; } echo $body; </div> </div> </div> </div> 

Это прекрасно работает. Тем не менее, я получаю содержимое всего тела. Как я могу получить конкретные разделы тела? Если бы кто-нибудь мог мне помочь, я бы очень признателен. Извините, если это очевидный, но я новичок в WordPress, и я все еще далек от этого.

вы можете получить доступ к данным с другого сайта через RSS-канал. Вы можете увидеть RSS-канал новостей bbc в следующем URL-адресе
http://news.bbc.co.uk/2/hi/help/rss/default.stm

то вы можете включить его в свой сайт с помощью переходного процесса, чтобы вы могли установить подходящее время для извлечения новых данных. И с элементом DOMDocument вы можете получить значения / данные

Ниже приведена только примерная функция, где я готовлю функцию, чтобы взять ваш URL-адрес RSS-канала.

 function vp_get_rss_feed($feed_url) { $expires = 7200; // 2hours delete_transient( 'rss_bbc_feed_world' ); $feed = get_transient( 'rss_bbc_feed_world' ); if ( false === ( $rss = $feed ) ) : $rss = new DOMDocument(); $rss->load($feed_url); $feed = array(); $i=1; foreach ($rss->getElementsByTagName('item') as $node) { $link = $node->getElementsByTagName('link')->item(0)->nodeValue; $title = $node->getElementsByTagName('title')->item(0)->nodeValue; $slug = sanitize_title($title); $desc = $node->getElementsByTagName('description')->item(0)->nodeValue; $item[$slug] = array ( 'title' => $title, 'slug' => $slug, 'desc' => $desc, 'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue, ); } array_push( $feed, $item ); set_transient( 'rss_bbc_feed_world', $feed, $expires ); endif; return $feed; } 

Эта функция берет ваш RSS-канал и сохраняет его в массиве и возвращает этот массив ($ feed)

Затем вы можете прокрутить этот $ feed в своем месте желания туда, где вы хотели бы показать данные RSS-фида в ваших стилях html желания.

Для справки:
https://codex.wordpress.org/Transients_API
http://php.net/manual/en/class.domdocument.php

Надеюсь, это поможет!!