手机便捷访问,请点此处
医院买卖小程序

医管攻略

首页 > 医管攻略 >  其他

为wordpress设置RSS Feed延迟保护原创和隐私

14年10月07日 阅读:11403 来源: 王发利原创

  建立WordPress博客,当然Rss Feed功能是必须得了解的,最近西安seo王发利博客发现更新完文章之后没有像以前一样隔日就收录,而是需要等个一两天才会被翻出来。但是在此期间,我查询我的签约网站居然在我的前面收录了,它是通过博客feed抓取文章的,因为的的feed开启的是全文,同时我的一些个人随笔和个人心情类的文章也在里面,这样甚是不好。还记得之前写过《怎么调出wordpress3.5被取消的链接管理功能》文章,于是就想在折腾一番,通过延迟Rss Feed输出时间和排除某些分类在feed中输出来优先让博客在被转载前收录和保护一些自己不想过多传播的信息。所以,我名此文为“为wordpress设置RSS Feed延迟保护原创和隐私”!下面来看看怎么样去设置。

  第一、设置Rss Feed延迟输出文章

  打开的你博客主题中的functions.php,一般在themes主题文件下的主题包里,如你的主题是WangStyle,那么你的functions.php文件就在WangStyle文件夹中找。找到文件之后,通过ftp下载,用DW或notepad打开,在 “ ?> ”前加入如下代码:

  [cc]

  //RSS Feed 延迟

  function publish_later_on_feed($where) {

  global $wpdb;

  if ( is_feed() ) {

  // timestamp in WP-format

  $now = gmdate('Y-m-d H:i:s');

  // value for wait; + device

  $wait = '2'; // integer

  $device = 'DAY'; //SECOND,MINUTE, HOUR, DAY, WEEK, MONTH, YEAR

  // add SQL-sytax to default $where

  $where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";

  }

  return $where;

  }

  add_filter('posts_where', 'publish_later_on_feed');

  [/cc]

  代码详解:

  $wait = '2';为设置的时间数字,后面的$device = 'DAY'; 为设置的时间段单位。我在这设置wait参数2,device参数DAY,即在发布文章两天后输出rss feed 。当然,你还可以根据自己的需要设置时间间隔。//SECOND,MINUTE, HOUR, DAY, WEEK, MONTH, YEAR 分别是秒,分,时,日,周,月,年。替换单位,更换数字即可。

  第二、排除某分类在Rss Feed输出

  同样还是在functions.php中 “ ?>”前加入以下代码:

  [cc]

  //Rss中排除某个分类输出

  function exclude_cat_feed($query) {

  if(is_feed()) {

  $query->set('cat','-8,-401,-70'); //排除ID为 8,401,70 的分类

  return $query;

  }

  }

  add_filter('pre_get_posts', 'exclude_cat_feed');

  [/cc]

  代码详解:

  在$query->set('cat',' ');添加你想被排除的分类id,如又多个分类,可以用英文下的逗号隔开,记得分类id前家“-”。上段代码“$query->set('cat','-8,-401,-70'); //排除ID为 8,401,70 的分类”中,我排除的是id分别为8,401,70的三个分类。至于分类id,可在WordPress后台分类处查看,最简单的方法就是在后台将鼠标移至分类目录上,看页脚的链接中“category&tag_ID= ”中的ID等于多少,这个就是分类id。当然,你也可以鼠标右键复制链接地址来查看,如我的其中一个为http://wangfali.com/wp-admin/edit-tags.php?action=edit&taxonomy=category&tag_ID=8&post_type=post 所以,排除中就为-8 .

  第三、完全禁止Rss Feed输出

  方法同上,在functions.php文件中的“?>”前加入以下代码:

  [cc]

  //禁用WordPress 中的RSS Feeds

  function wp_disable_feed() {

  wp_die( __('抱歉,本站不支持订阅,请返回首页') );

  }

  add_action('do_feed', 'wp_disable_feed', 1);

  add_action('do_feed_rdf', 'wp_disable_feed', 1);

  add_action('do_feed_rss', 'wp_disable_feed', 1);

  add_action('do_feed_rss2', 'wp_disable_feed', 1);

  add_action('do_feed_atom', 'wp_disable_feed', 1);

  [/cc]

  代码解析:

  add_action()为WordPress的核心还是,表示将函数连接到指定action(动作),这里('do_feed', 'wp_disable_feed', 1); 动作就是要实现disable这个动作,输出。当然了,完全禁止直接用这个代码就可以,不需要再修改了。

  本文小结:

  为wordpress设置RSS Feed延迟保护原创和隐私只是个人遇到的一些问题,在处理问题的过程中的一些心得,分享出来,希望遇到和我一样的朋友,既不想关闭feed,又不想过早地文章被转载,那就采用第二个方法吧。

 

本文(图片)由作者(投稿人)自主发布于 @华夏医界网 ,其内容仅代表作者个人观点,并不代表本站同意其说法或描述,其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性和及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容(包含文中图片的版权来源),本站仅提供信息存储服务,不承担前述引起的任何责任。根据《信息网络传播权保护条例》,如果此作品侵犯了您的权利,请在一个月内通知我们(文章来源下方“侵权申诉”按钮)或将本侵权页面网址发送邮件到535905836@qq.com,我们会及时做删除处理。 欢迎网友参与讨论及转载,但务必注明"来源于www.hxyjw.com"
发  布
猜你喜欢
376阅读

胰岛素集采续约:看门诊统筹药店价差、化药集采

作者:码万祺 时间:2024-04-25 10:39:29 文章来源:原创

558阅读

即将投入运行大型三级医院!知名民营品牌加速向综合医疗“转型” !

作者:祁冉 时间:2024-04-25 10:25:13 文章来源:转载

499阅读

DIP付费模式下,医保与医院如何精准分工?

作者:齐厄 时间:2024-04-25 10:07:08 文章来源:转载

949阅读

华熙终究未能华为

作者:何嘉焜 时间:2024-04-24 17:35:24 文章来源:原创

829阅读

中医药文化为健保健康险做框架、“保险杠”

作者:码万祺 时间:2024-04-24 17:28:33 文章来源:原创

968阅读

推拿成年轻人新宠,民营医院如何抢占这“亿”波红利?

作者:梅曦 时间:2024-04-24 17:20:20 文章来源:转载

王发利
简介
王发利,现任马应龙肛肠连锁医院SEM主管,长期专注SEM营销,更擅长SEO,精通微营销,注重实践。从业于民营医疗营销多年,对医疗网络营销运营管理具有独到见解,喜欢交友、与大家一起分享心得。建有独立博客—王发利博客