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

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

作者 : 资源客 发布时间: 2019-11-11

一个网站里调用另外一个 wordpress 网站内的文章,在网上找了很多方法,好多都是两个站点都是 WordPress 程序的调用教程,折腾了好多方法,找到一个可用的插件,通过 Ecall 插件外部调用实现了我想要的效果。但是安装插件不太喜欢,所以就放弃了。后来又找到另一种实现的方法如下:

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 );
    ?>

最终成功在懿古今首页展示 boke112 联盟最新更新的文章(包括 post 文章类型和自定义文章类型),具体见懿古今首页。

http://xzh.i3geek.com
1. 本站所有资源来源于用户上传和网络,如有侵权请邮件联系站长!
2. 分享目的仅供大家学习和交流,请不要用于商业用途及非法用途,否则后果自负!
3. 如果你也有好源码或者教程,可以到审核区发布,分享有金币奖励和额外收入!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
7. 如遇到加密压缩包,默认解压密码为"qq301.com",如遇到无法解压的请联系管理员!
资源客是一个优秀的分享资源站,本站资源均为各位友友分享而来,特殊原创会标明如有侵犯版权等可联系删除

资源客 » WordPress 如何调用其他网站的最新文章