AIDE技术官网
AIDEZY.COM

WordPress站点如何调用其他网站的最新文章

WordPress站点如何调用其他网站的最新文章

WordPress站点如何调用其他网站的最新文章

正文:

WordPress 调用其他站点文章的以前就有两个方法,一个是通过插件方式;另一个是通过 feed 方式。方法一是安装插件不太喜欢,方法二显示的文章有延迟和不显示自定义文章类型,后来就放弃了。最后呢又找到另一种实现的方法,详见。具体办法如下:

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

<?php

define('WP_USE_THEMES', false);

require('./wp-load.php');

query_posts('showposts=1');

?>

<?php while (have_posts()): the_post(); ?>

<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>

<?php endwhile; ?>

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

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

<?php

$url="https://网站域名/call.php";

echo file_get_contents( $url );

?>

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

根据以上方法添加到首页的侧边栏时总是出现“failed to open stream: HTTP request failed! ”错误提示,具体如下:

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 引起的)』这篇文章找到完美解决办法。只需要将第二步中的代码改为:

<?php

ini_set("user_agent","Mozilla/4.0 (compatible; MSIE 5.00; Windows 98)");

$url="https://网站域名/call.php";

echo file_get_contents( $url );

?>

即可。

搜一下

海报生成 赞(0) 打赏

来都来了!评论一下呗! 抢沙发

  • QQ (自动获取名称头像等信息|选填)
  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址 (选填)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

登录

忘记密码 ?

切换登录

注册