如何在外部网站上提供wordpress帖子

时间:2015-12-04 19:20:56

标签: php wordpress

我有一个Wordpress博客和一个PHP网站。我打算将Wordpress博客的最后6篇帖子提供给这个PHP网站。从两个特定的帖子类别中获取标题,网址和缩略图以及所有这些内容。任何人都可以帮助我做到最好,最简单的方法吗?我是前端开发人员,我在PHP = /

方面不太好

提前致谢!

2 个答案:

答案 0 :(得分:3)

你可以试试这个方法

  1. 安装WP API

  2. 获取您要加载的内容的JSON网址,请参阅docs

  3. e.g。 http://yourdomain.com/wp-json/wp/v2/pages?filter[posts_per_page]=6&filter[orderby]=date

    1. 使用file_get_content和json_decode
    2. 显示来自JSON的数据

      $posts = json_decode(file_get_contents('http://yourdomain.com/wp-json/wp/v2/pages?filter[posts_per_page]=6&filter[orderby]=date')); foreach ( $posts as $post ) { echo '<a href="'.$post->link.'">'.$post->title->rendered.'</a>'; }

答案 1 :(得分:1)

有些插件可以帮助您将数据从WP站点移动到WP站点。查看此链接有关WP插件和RSS源

http://mashable.com/2008/09/08/rss-plugins-for-wordpress/#haJPCZ7VPaqG

使用PHP显示RSS源的简便方法

以下代码将首先创建一个新的DOMDocument(),我们将在其中加载WordPress.org RSS提要。

$rss = new DOMDocument();
$rss->load('http://wordpress.org/news/feed/');

然后我们将挑出某些元素并将它们放入一个数组中。对于这个例子,我将获取标题,描述,链接并在日期发布。

$feed = array();
foreach ($rss->getElementsByTagName('item') as $node) {
    $item = array ( 
        'title' => $node->getElementsByTagName('title')->item(0)->nodeValue,
        'desc' => $node->getElementsByTagName('description')->item(0)->nodeValue,
        'link' => $node->getElementsByTagName('link')->item(0)->nodeValue,
        'date' => $node->getElementsByTagName('pubDate')->item(0)->nodeValue,
        );
    array_push($feed, $item);
}

最后,我们将其设置为在屏幕上显示5个帖子,标题直接链接到原始帖子。

$limit = 5;
for($x=0;$x<$limit;$x++) {
    $title = str_replace(' & ', ' &amp; ', $feed[$x]['title']);
    $link = $feed[$x]['link'];
    $description = $feed[$x]['desc'];
    $date = date('l F d, Y', strtotime($feed[$x]['date']));
    echo '<p><strong><a href="'.$link.'" title="'.$title.'">'.$title.'</a></strong><br />';
    echo '<small><em>Posted on '.$date.'</em></small></p>';
    echo '<p>'.$description.'</p>';
}

不太复杂。您需要更改的是要加载的Feed(第3行)和要显示的帖子数(第14行)。当然,您可以随时使用输出来完全按照您的需要进行样式设置。这完全取决于你。