WordPress 如何调用外部网站的最新文章?(3种方法)

2019年10月26日10:43:11 2 109 views

WordPress 网站如何调用其他站点的最新文章?里维斯社看到boke112联盟总结了一些不错的教程,所以总结分享给有需要的朋友。

原理:输入指定网址,通过WordPress的wp_rss()函数直接调用最新文章。

WordPress 如何调用外部网站的最新文章?(3种方法)

如何调用外部站点的最新文章,这里总结分享3个方法。

方法一:使用插件:Ecall

插件下载地址:https://wordpress.org/plugins/ecall/

使用教程可以参考《推荐一款js方式外部调用WordPress站点文章插件Ecall》,写的非常详细,而且还有站长总结的一些经验。不喜欢用插件的朋友可以继续阅读下面两种方法。

 

方法二:调用并嵌入RSS或feed链接

1、在当前所使用的主题文章页面模版single.php文件或侧边栏的适当位置添加以下代码:

  1. <?php if ( get_post_meta($post->ID, 'feed', true) ) : ?>
  2. <p class="feeds" style="font-weight:bold;">XX站点最新文章</p>
  3. <?php include_once(ABSPATH.WPINC.'/rss.php');?>
  4. <?php $feed = get_post_meta($post->ID, 'feed', true); ?>
  5. <?php wp_rss($feed, 5); ?>
  6. <?php endif; ?>

其中5表示显示最新的5篇文章,可以自行修改。

2、在编辑文章时,添加一个自定义栏目,名称:feed,值为:调用的RSS或feed链接地址。不添加自定义栏目“feed”则不显示该内容。

3、使用效果图:

WordPress 如何调用外部网站的最新文章?(3种方法)

这种方法显示的文章有延迟和不显示自定义文章类型,如果介意的朋友可以继续阅读下面的方法。

 

方法三:创建PHP文件

1、在被调用 WordPress 网站的根目录中建立一个 PHP 文件,并添加以下代码:

  1. <?php
  2. define('WP_USE_THEMES', false);
  3. require('./wp-load.php');
  4. query_posts('showposts=1');
  5. ?>
  6. <?php while (have_posts()): the_post(); ?>
  7. <li><a href="<?php the_permalink(); ?>" target="_blank"><?php echo mb_strimwidth(strip_tags(apply_filters('the_title', $post->post_title)), 0, 50," "); ?></a></li>
  8. <?php endwhile; ?>

其中 query_posts()里面的参数可自行修改,如显示的文章数、是否显示置顶文章、是否显示多种类型的文章等。循环主题中的样式也建议根据自己的站点情况调整。

2、在需要调用的地方,如文章页或侧边栏(需要支持 PHP),添加以下代码:

  1. <?php
  2. $url="https://网站域名/call.php";
  3. echo file_get_contents$url );
  4. ?>

其中记得修改以上网站域名为自己站点的完整域名。

使用上述代码调用后出现报错:Warning: file_get_contents(https://网站域名/call.php): failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in 目标文件路径 on line 25

 

网上搜索了半天发现很多教程都说要修改 PHP.ini,把 allow_url_fopen 给启用,改成 allow_url_fopen = On 之类的。后来在 CSDN 博客中的《完美解决 failed to open stream: HTTP request failed!(file_get_contents 引起的)》这篇文章找到完美解决办法。

只需要将第二步中的代码改为:

  1. <?php
  2. ini_set("user_agent","Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)");
  3. $url="https://网站域名/call.php";
  4. echo file_get_contents$url );
  5. ?>

最终成功在A网站上调取了B网站及时更新的最新文章(包括 post 文章类型和自定义文章类型)。

原文地址:《WordPress站点如何调用其他网站的最新文章?

©里维斯社,本站推荐使用的主机:阿里云腾讯云;本站推荐使用的WP主题:WordPress主题

里维斯社
晨会游戏

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  1   博主  1

    • avatar 奶爸建网站笔记 6

      以前用的rss调用。