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

admin123 2020-11-15 974

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

创建PHP文件

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

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

使用上述代码调用后出现报错: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 之类的。

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

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


最新回复 (1)
全部楼主
  • admin123 2020-11-15
    0 2

    调用并嵌入RSS或feed链接

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

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

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

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


返回