ワードプレスのget_feed_build_dateフィルタの使用方法・解説

概要

get_feed_build_dateフィルタは、WordPressにおけるフィードの構築時に利用されるフィルタです。このフィルタは、フィードの作成日時を取得するために使用され、さまざまなカスタマイズが可能です。以下のような機能を実装する際によく使われます。

  1. フィードの生成日時のカスタマイズ
  2. 特定の条件に基づくフィードの更新日時の変更
  3. どのユーザーがフィードを取得したかに応じたフィードの生成日時の変更
  4. フィードの出力形式に応じたカスタマイズ
  5. メタデータに基づくフィードの更新履歴の管理
  6. 外部サービスとの連携によるフィード生成日時の調整
  7. プラグインやテーマとの互換性の向上
  8. フィードリーダーへのフィード情報の最適化

構文

add_filter('get_feed_build_date', 'custom_get_feed_build_date', 10, 2);

パラメータ

  1. $date: デフォルトのフィード生成日時。
  2. $feed: フィードの種類(例: rss2, atom)。

戻り値

フィルタを通過した後の生成日時の文字列。

関連する関数

https://refwp.com/?titleonly=1&s=get_feed_build_date

使用可能なバージョン

このフィルタは、WordPress 2.1以降で使用可能です。

コアファイルのパス

wp-includes/feed.php

この関数のアクションでの使用可能性

アクション 使用例
mu_plugin_loaded
registered_post_type
plugins_loaded
wp_roles_init
setup_theme
after_setup_theme
set_current_user
init
register_sidebar
wp_loaded
send_headers
parse_query
pre_get_posts
wp
template_redirect
get_header
wp_head

サンプルコード

サンプルコード 1: デフォルトのフィード生成日時の変更

add_filter('get_feed_build_date', function($date) {
    return '2023-01-01T00:00:00+00:00'; // 固定の更新日時に変更
});

このコードは、フィードの生成日時を固定の値に変更します。

サンプルコード 2: 投稿の公開日を基にフィード生成日時を設定

add_filter('get_feed_build_date', function($date, $feed) {
    if ($feed == 'rss2') {
        return get_the_date('c'); // 投稿の公開日時を使用
    }
    return $date;
}, 10, 2);

このコードは、RSS2フィードの場合に投稿の公開日時を生成日時として利用します。

サンプルコード 3: ユーザーによるフィードのアクセス時間に基づく日時の変更

add_filter('get_feed_build_date', function($date) {
    return current_time('c'); // サイトの現在の時間に変更
});

このコードは、フィードの生成日時を現在の時間に変更します。

サンプルコード 4: 条件付きフィード日時の調整

add_filter('get_feed_build_date', function($date, $feed) {
    if ($feed === 'atom') {
        return $date . ' Updated'; // Atomフィードに「更新」のラベルを追加
    }
    return $date;
}, 10, 2);

このコードは、Atomフィードの生成日時に「Updated」という文字を追加します。

サンプルコード 5: カスタムフィードの生成日時の変更

add_filter('get_feed_build_date', function($date, $feed) {
    if ($feed === 'my_custom_feed') {
        return '2023-11-01T12:34:56+00:00'; // カスタムフィード用の固定日時
    }
    return $date;
}, 10, 2);

このコードは、カスタムフィードの場合に特定の日時を設定します。

すべてのサンプルコードは、著作権フリーのものです。

この関数について質問する


上の計算式の答えを入力してください