web-dev-qa-db-ja.com

週2〜3回だけフィードを更新するにはどうすればよいですか?(FeedburnerのEメールの場合)

あなたの多くは、Feedburnerがニュースレターを送信するための素晴らしい(無料の)ツールであることを知っています。問題は、毎日コンテンツを追加すると、毎日のEメールが送信されることです。

Functions.phpで、週に2〜3回だけフィードを「更新」する方法を制御したいので、Feedburnerからの電子メールはこれらの日にのみ送信されます。私はと一緒に何かを使用することを考えた:

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

しかし、私はこれが行動でどうやって行われるのか私はしません。誰かが手伝ってくれる? =)

2
Dan Cortazio

あなたが望む限りRSSフィードを遅らせるためにこの関数を使うことができるはずです。 (例:48時間または2日ごと)

// 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');

ソース: https://wordpress.stackexchange.com/a/1896/12086

1
John-Michael