redirect & delay WordPress FEED url to FeedBurner

redirect & delay WordPress FEED url to FeedBurner
redirect & delay WordPress FEED url to FeedBurner

How to Modified RSS Feed URL in WordPress

with fucntions.php /without .htaccess & plugin for nginx/apache server.
วิธีทำให้ wordpress ใช้ url จาก feedburnner(เช่น feeds.feedburner.com/taxze) แทนจาก url ของเว็บบล๊อคปกติ(เช่น taxze.com/feed) ช่วยให้ลดภาระทางเซิฟเวอร์กรณีโดนบอทดูดบทความได้บ้าง..มั้งนะ และแถมโค้ดวิธีทำให้ feed เว็บเราดีเลย์จากหน้าเว็บจริงจากปกติได้ด้วย เผื่อจะต้องปรับแต่งบทความหลายรอบเพื่อให้สมบูรณ์ก่อนฟีดเด้งอะไรแบบนี้ โดยทั้งหมดทำผ่าน functions.php ของธีีมนั้นๆ โดยไม่ต้องลงปลั๊กอิน และยังรองรับเซิฟเวอร์ nginx ที่ใช้ .htaccess ไม่ได้ด้วย



Redirect wordpress feed url to feedburner /w functions.php

<?php
// To rewrite the feed links
add_filter('feed_link', 'my_feedburner_feed_link', 1, 2);
// To redirect feeds
add_action('template_redirect', 'my_feed_redirect');

function my_feed_redirect() {
global $feed;
// Change this
$new_feed = 'https://feeds.feedburner.com/taxze';

if (!is_feed()) {
return;
}
if (preg_match('/feedburner|feedvalidator/i', $_SERVER['HTTP_USER_AGENT'])){
return;
}

if ($feed != 'comments-rss2') {
if (function_exists('status_header')) status_header( 302 );
header("Location:" . $new_feed);
header("HTTP/1.1 302 Temporary Redirect");
exit();
}
}

function my_feedburner_feed_link($output, $feed){
// Change this
$new_feed = 'https://feeds.feedburner.com/taxze';

if($feed!='comments-rss2'){
$feed_array = array('rss' => $new_feed , 'rss2' => $new_feed , 'atom' => $new_feed , 'rdf' => $new_feed , 'comments_rss2' => $new_feed);
$feed_array[$feed] = $new_feed;
$output = $feed_array[$feed];
}
return $output;
}
?>

Delay wordpress post in feed url /w functions.php

<?php
add_filter('posts_where', 'publish_later_on_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 = '5'; // integer

// http://dev.mysql.com/doc/refman/5.0/en/date-and-time-functions.html#function_timestampdiff
$device = 'MINUTE'; //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;
}
?>

//exclude feed category
add_filter('pre_get_posts','tz_exclude_category_feed');
function tz_exclude_category_feed($query) {
if ($query->is_feed) {
$query->set('cat','-60');
}
return $query;
}

Modified RSS Feed URL in WordPress – http://www.printedbyerik.com/2011/03/modified-rss-url-in-wordpress/
10 Useful RSS-Tricks and Hacks For WordPress – https://www.smashingmagazine.com/2008/12/10-useful-rss-hacks-for-wordpress/
Customizing WordPress Feeds – https://digwp.com/2012/10/customizing-wordpress-feeds/

Blog |
Line it!