为WordPress设置RSS Feed延迟保护原创和隐私
建立WordPress博客,当然Rss Feed功能是必须得了解的,最近西安seo王发利博客发现更新完文章之后没有像以前一样隔日就收录,而是需要等个一两天才会被翻出来。但是在此期间,我查询我的签约网站居然在我的前面收录了,它是通过博客feed抓取文章的,因为的的feed开启的是全文,同时我的一些个人随笔和个人心情类的文章也在里面,这样甚是不好。还记得之前写过《怎么调出wordpress3.5被取消的链接管理功能》文章,于是就想在折腾一番,通过延迟Rss Feed输出时间和排除某些分类在feed中输出来优先让博客在被转载前收录和保护一些自己不想过多传播的信息。所以,我名此文为“为wordpress设置RSS Feed延迟保护原创和隐私”!下面来看看怎么样去设置。
打开的你博客主题中的functions.php,一般在themes主题文件下的主题包里,如你的主题是WangStyle,那么你的functions.php文件就在WangStyle文件夹中找。找到文件之后,通过FTP下载,用DW或notepad打开,在 “ ?> ”前加入如下代码:
//设置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');代码详解:
$wait = '2';为设置的时间数字,后面的$device = 'DAY'; 为设置的时间段单位。我在这设置wait参数2,device参数DAY,即在发布文章两天后输出rss feed 。当然,你还可以根据自己的需要设置时间间隔。//SECOND,MINUTE, HOUR, DAY, WEEK, MONTH, YEAR 分别是秒,分,时,日,周,月,年。替换单位,更换数字即可。
同样还是在functions.php中 “ ?>”前加入以下代码:
//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');代码详解:
在$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 .
方法同上,在functions.php文件中的“?>”前加入以下代码:
//禁用WordPress 中的RSS Feedsfunction 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);代码解析:
add_action()为WordPress的核心还是,表示将函数连接到指定action(动作),这里('do_feed', 'wp_disable_feed', 1); 动作就是要实现disable这个动作,输出。当然了,完全禁止直接用这个代码就可以,不需要再修改了。
本文小结:
为wordpress设置RSS Feed延迟保护原创和隐私只是个人遇到的一些问题,在处理问题的过程中的一些心得,分享出来,希望遇到和我一样的朋友,既不想关闭feed,又不想过早地文章被转载,那就采用第二个方法吧。
让足球滚一会提供足球、篮球、NBA赛事前瞻分析推荐,与各联赛时实新闻报道、球员转会消息、赛事录像回放等资讯,用心认真把每件事做到最好的网站。
体育即时比分网提供实时足球比分与篮球比分数据,包括即时比分、赛程、球队、竞猜等数据,让您无时无刻都能掌握时实足球比分与篮球比分动态消息。即时更新各项比赛数据与完赛结果。让足球滚一会带您体验精彩的竞猜足球比赛!
金魔网
外籍模特
:imtoken钱包为您提供最新的imtoken钱包信息,imtoken是全球最大的数字货币钱包,支持包括BTC, ETH, BSC, TRON, Aptos, Polygon, Solana, OKExChain, Polkadot, Kusama, EOS等在内的所有主流公链及Layer 2,已为全球近千万用户提供可信赖的数字货币资产管理服务,也是当前DeFi用户必备的工具钱包。
我们专注提供明星代言、商演、翻包视频、祝福视频录制等业务,十多年行业服务经验