如何从WP的RSS中调出html格式的帖子

2015-10-28 15:23:46
第一课程网
1kecheng.com
摘要:很多网站在一级目录下放置博客并提供RSS内容订阅,如在www.example.com/根目录下放置主站,在www.example.com/blog/下放置博客,本文分享“如何将WordPress中的RSS生成html列表以供根目录下的网站调用”起到根目录内容实时更新的作用。以web.1kecheng.com为例,其RSS地址为http://web.1kecheng.com/feed/,现在我

很多网站在一级目录下放置博客并提供RSS内容订阅,如在www.example.com/根目录下放置主站,在www.example.com/blog/下放置博客,本文分享“如何将WordPress中的RSS生成html列表以供根目录下的网站调用”起到根目录内容实时更新的作用。以web.1kecheng.com为例,其RSS地址为http://web.1kecheng.com/feed/,现在我们要把这个RSS内容处理生成html格式的列表并每天更新至newposts.htm(博客目录下)。实现方法如下:Q8d站长课程_免费SEO教程_第一课程网_渴成网

 Q8d站长课程_免费SEO教程_第一课程网_渴成网

在博客当前主题目录下的functions.php内添加如下代码:Q8d站长课程_免费SEO教程_第一课程网_渴成网

  1. add_action('my_daily_event''do_this_daily');   
  2. function my_activation() {   
  3. if ( !wp_next_scheduled( 'my_daily_event' ) ) {   
  4. wp_schedule_event(time(), 'daily''my_daily_event');   
  5. }   
  6. }   
  7. add_action('wp''my_activation');   
  8. function do_this_daily() {   
  9. $doc = new DOMDocument();   
  10. $doc->load('http://web.1kecheng.com/feed/'); /*修改为你自己的RSS地址*/  
  11. $newhtml = '';   
  12. foreach ($doc->getElementsByTagName('item') as $node) {   
  13. $link = $node->getElementsByTagName('link')->item(0)->nodeValue;   
  14. $title = $node->getElementsByTagName('title')->item(0)->nodeValue;   
  15. $newhtml .= '<li><a target="_blank" href="'.$link.'">'.$title.'</a></li>';   
  16. }   
  17. /*生成最新文章列表到博客根目录的newposts.htm文件中*/  
  18. $newfile="newposts.htm";   
  19. $file = fopen ($newfile, "w");   
  20. fwrite($file, $newhtml);   
  21. fclose ($file);}  

 Q8d站长课程_免费SEO教程_第一课程网_渴成网

上传完成后刷新一次博客,即可在博客目录生成newposts.htm地址如下http://web.1kecheng.com/newposts.htm,并会在每天更新此文件,可根据自己需要更改wp_schedule_event(time(), 'daily', 'my_daily_event')中的daily为hourly,weekly, fortnightly等来配置更新频率。Q8d站长课程_免费SEO教程_第一课程网_渴成网

Q8d站长课程_免费SEO教程_第一课程网_渴成网

这样,便可以在网站任意地方展示通过一段代码来展示博客最新文章,调用方法与http://web.1kecheng.com/html/45.html跟帖所述类似。Q8d站长课程_免费SEO教程_第一课程网_渴成网

Q8d站长课程_免费SEO教程_第一课程网_渴成网

另外对于所有提供RSS内容的php网站(不限于WP),均可以采用上述PHP代码生成html列表文档。Q8d站长课程_免费SEO教程_第一课程网_渴成网

  1.   
  2. <?php   
  3. $doc = new DOMDocument();   
  4. $doc->load('http://web.1kecheng.com/feed/');   
  5. $newhtml = '';   
  6. foreach ($doc->getElementsByTagName('item') as $node) {   
  7. $link = $node->getElementsByTagName('link')->item(0)->nodeValue;   
  8. $title = $node->getElementsByTagName('title')->item(0)->nodeValue;   
  9. $newhtml .= '<li><a target="_blank" href="'.$link.'">'.$title.'</a></li>';   
  10. }   
  11. /*echo直接返回html列表代码 */  
  12. echo $newhtml;   
  13. /*生成htm文件,可以根据需要选择直接返回html代码或生成htm文件*/  
  14. $newfile="newposts1.htm";   
  15. $file = fopen ($newfile, "w");   
  16. fwrite($file, $newhtml);   
  17. fclose ($file);   
  18. ?>  

 Q8d站长课程_免费SEO教程_第一课程网_渴成网

php直接返回html代码示例:http://web.1kecheng.com/rss.phpQ8d站长课程_免费SEO教程_第一课程网_渴成网

php生成htm文件示例:http://web.1kecheng.com/newposts1.htmQ8d站长课程_免费SEO教程_第一课程网_渴成网

注:echo返回的htm是实时更新的;生成html需要定期执行php代码才能更新htm文件,方法不统一。Q8d站长课程_免费SEO教程_第一课程网_渴成网

 

发表评论 共有条评论
联系我们
站长课程: web.1kecheng.com
站长工具: tool.1kecheng.com
手工小制作: diy.1kecheng.com
Email: firstkecheng@163.com
微信: 第一课程网
我们的宗旨: 用心整理每一篇文章,为渴望成功人士提供最准确最简单的帮助。