wordPress/ target=_blank class=infotextkey>WordPress还是要去设置修改以下的,不然会被人利用。很多采集站利用RSS订阅来采集你的博客内容,辛辛苦苦编写的原创内容被轻而易举的采集去了,而且被监控的时候,你原创文章一发布出来,采集站利用RSS也一起发出来,如果蜘蛛先到采集站,还会以为采集站才是原创,白白给他人做嫁衣。
下面来介绍下几种WordPress设置RSS的方法。设置-阅读里面,把对于feed中每篇文章,包含设置成摘要,默认是全文的,上方feed显示最近也可以设置显示多少个。
WordPress Rss Feed 延时输出
在主题的functions.php文件中添加以下代码,设置延时一天显示
//防RSS采集,自定义WordPress RSS/Feed订阅发布推送 - https://blog.00930.cn/179.html
function publish_later_on_feed($where) {
global $wpdb;
if ( is_feed() ) {
$now = gmdate('Y-m-d H:i:s');
//数据延迟1天显示,也就是feed只会输出截止到前天的数据,可根据实际需求自行修改
$wait = '1';
$device = 'DAY';//其他时间单位可参考https://blog.00930.cn/179.html中的说明
$where .= " AND TIMESTAMPDIFF($device, $wpdb->posts.post_date_gmt, '$now') > $wait ";
}
return $where;
}
add_filter('posts_where', 'publish_later_on_feed');
$wait = ‘1’;中1代表单位数字,$device = ‘DAY’中DAY代表单位天,也就是延迟1单位天,延时一天的意思。SECOND,MINUTE, HOUR, DAY, WEEK, MONTH, YEAR 分别是秒,分,时,日,周,月,年。需要的自行替换就行,比如要设置延迟12小时显示,就可以设置$wait = ’12’; 单位设置$device = ‘HOUR’;
Rss Feed订阅设置不显示某分类
在主题的functions.php文件添加以下代码,代表排除id6、66、666的分类,如何查看自己某些分类的id?点击编辑那个分类,就可以看到连接里面有category&tag_ID=1,这里的1就代表着这个分类的id。
//Rss中排除某个分类输出 - https://blog.00930.cn/179.html
function exclude_cat_feed($query) {
if(is_feed()) {
$query->set('cat','-6,-66,-666'); //排除ID为 6,66,666 的分类
return $query;
}
}
add_filter('pre_get_posts', 'exclude_cat_feed');
完全禁止Rss Feed输出
还是在functions.php文件添加以下代码,需要禁止掉Rss直接复制进去就行,不需要修改。
//完全禁止WordPress Rss Feed输出 - https://blog.00930.cn/179.html
function wp_disable_feed() {
wp_die( __('<h1>抱歉,本站不支持订阅,请返回<a href="'. get_bloginfo('url') .'">首页</a></h1>') );
}
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);
本篇由安小客博客原创
来源:https://blog.00930.cn/179.html