So many of you know that Feedburner is a great (free) tool for sending out newsletters. The problem is that if you add content everyday, everyday emails will be sent out.
I’d like to control on functions.php how I could “update” the feed only 2-3 times a week, so emails from Feedburner would be sent only on these days. I thought about using something with:
$d=date("D");
if($d=="Fri")...
But I don’t how this could be done with actions. Could someone help? =)
You should be able to use this function to delay the RSS feed as long as you desire. (example, 48 hours or every two days)
// delay feed update
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="10"; // 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;
}
add_filter('posts_where', 'publish_later_on_feed');
source: https://wordpress.stackexchange.com/a/1896/12086