web-dev-qa-db-fra.com

Comment mettre à jour le flux seulement 2-3 fois par semaine (pour l'email de Feedburner)?

Beaucoup d'entre vous savent que Feedburner est un excellent outil (gratuit) pour l'envoi de newsletters. Le problème est que si vous ajoutez du contenu tous les jours, des courriels de tous les jours seront envoyés.

J'aimerais contrôler sur functions.php comment je pouvais "mettre à jour" le flux seulement 2-3 fois par semaine, afin que les courriels de Feedburner soient envoyés uniquement ces jours-là. J'ai pensé utiliser quelque chose avec:

$d=date("D"); if($d=="Fri")...

Mais je ne sais pas comment cela pourrait être fait avec des actions. Quelqu'un pourrait aider? =)

2
Dan Cortazio

Vous devriez pouvoir utiliser cette fonction pour retarder le flux RSS aussi longtemps que vous le souhaitez. (exemple, 48 heures ou tous les deux jours)

// 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

1
John-Michael