wordPress/ target=_blank class=infotextkey>WordPress還是要去設(shè)置修改以下的,不然會被人利用。很多采集站利用RSS訂閱來采集你的博客內(nèi)容,辛辛苦苦編寫的原創(chuàng)內(nèi)容被輕而易舉的采集去了,而且被監(jiān)控的時候,你原創(chuàng)文章一發(fā)布出來,采集站利用RSS也一起發(fā)出來,如果蜘蛛先到采集站,還會以為采集站才是原創(chuàng),白白給他人做嫁衣。
下面來介紹下幾種WordPress設(shè)置RSS的方法。設(shè)置-閱讀里面,把對于feed中每篇文章,包含設(shè)置成摘要,默認是全文的,上方feed顯示最近也可以設(shè)置顯示多少個。
WordPress Rss Feed 延時輸出
在主題的functions.php文件中添加以下代碼,設(shè)置延時一天顯示
//防RSS采集,自定義WordPress RSS/Feed訂閱發(fā)布推送 - 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');
//數(shù)據(jù)延遲1天顯示,也就是feed只會輸出截止到前天的數(shù)據(jù),可根據(jù)實際需求自行修改
$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代表單位數(shù)字,$device = ‘DAY’中DAY代表單位天,也就是延遲1單位天,延時一天的意思。SECOND,MINUTE, HOUR, DAY, WEEK, MONTH, YEAR 分別是秒,分,時,日,周,月,年。需要的自行替換就行,比如要設(shè)置延遲12小時顯示,就可以設(shè)置$wait = ’12’; 單位設(shè)置$device = ‘HOUR’;
Rss Feed訂閱設(shè)置不顯示某分類
在主題的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);
本篇由安小客博客原創(chuàng)
來源:https://blog.00930.cn/179.html