从站外调用WordPress站内文章的实现方法
最近遇到一个从站外调用WordPress站内文章问题,具体是这样的:需要在A站的首页或者侧边栏引用B站点的最新文章,且A、B站点都是采用WordPress程序构建。这类问题可以采用第三方服务,比如wumii的文章调用什么的,也可以采用代码来实现。解决过程如下:
方法一:
这个方法不局限于最新文章,它几乎可以调用所有类型的文章,如最热文章,随机文章、最新评论等等,不过唯一的缺点就是速度可能慢点。
首先在你要被外部调用文章的网站根目录下建立一个php文件,命名为blog_call.php。
内容如下:
复制代码代码如下:<?php
//该文件放置在你要调取的博客的主目录
define(‘WP_USE_THEMES’, false);
require(‘./wp-load.php’);
query_posts(‘showposts=10′);
//这里是调用最新文章,如果是热门文章的话则改为get_most_viewed(“post”,10);当然这得是你的主题安装了热门文章插件,而且这里可以接受几乎wp-kit-cn所有代码。非常方便
?>
<?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; ?>
如果你要输出文章摘要,可以使用下面的代码:
复制代码代码如下:<?php
//该文件放置在博客的主目录
define(‘WP_USE_THEMES’, false);
require(‘./wp-load.php’);
query_posts(‘showposts=30′);
?>
<?php while (have_posts()): the_post(); ?>
<h2><a href=”<?php the_permalink(); ?>”><?php the_title(); ?></a></h2>
<?php the_excerpt(); ?>
<?php endwhile; ?>
最后在你需要调用网站文章的那个站点上面,加上如下代码:
复制代码代码如下:<?php
//该代码放置在需要调用文章内容和列表的地方
$url=http://你的博客地址/blog_call.php;
echo file_get_contents( $url );
?>
方法二:
这个方法是最通俗的思路,用WordPress 的RSS功能实现。把下面的代码黏贴到相应地方,然后用css美化一下就搞定。
复制代码代码如下:<?php // Get RSS Feed(s)
include_once(ABSPATH . WPINC . ‘/rss.php’);
$rss = fetch_rss(‘http://XXXX/feed’);//在这添加所要调用网站的Feed地址
$maxitems = 10;
$items = array_slice($rss->items, 0, $maxitems);
?>
<ul>
<?php if (empty($items)) echo ‘<li>No items</li>’;
else
foreach ( $items as $item ) : ?>
<li>
<a href=’<?php echo $item['link']; ?>’
title=’<?php echo $item['title']; ?>’ target=”_blank”>
<?php echo mb_strimwidth($item['title'] , 0, 80, ‘…’) ; ?>
</a>
</li>
<?php endforeach; ?>
</ul>
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341