プラグインThe Events Calendarのtec_events_integrations_{$integration_type}_{$integration_slug}_events_schema_is_neededフィルタの使用方法・解説

概要

tec_events_integrations_{$integration_type}_{$integration_slug}_events_schema_is_neededフィルタは、The Events Calendarプラグインにおいて、特定の統合のイベントスキーマが必要かどうかを判断するために使用されます。このフィルタを使うことで、次のような機能を実装することができます。

  1. 特定の統合のスキーマの有効化/無効化
  2. カスタムイベントのメタデータを管理
  3. イベントの表示条件をフィルタリング
  4. SEO最適化のための動的スキーマの制御
  5. 他のプラグインとの互換性を持たせる
  6. エンドユーザーに特化した出力を提供する

構文

add_filter('tec_events_integrations_{$integration_type}_{$integration_slug}_events_schema_is_needed', 'your_function_name', 10, 3);
  • {$integration_type}: 統合のタイプ(例: Google Calendar)
  • {$integration_slug}: 統合のスラッグ(例: google)
  • your_function_name: フィルタを処理するユーザ定義関数

パラメータ

  1. $is_needed (bool) – スキーマが必要かどうかのフラグ。
  2. $event (object) – イベントオブジェクト。
  3. $args (array) – その他の引数。

戻り値

  • (bool) $is_needed フラグ。trueの場合はスキーマが必要、falseの場合は不要。

バージョン情報

  • The Events Calendar バージョン: 6.0以上
  • WordPress バージョン: 5.0以上

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

アクション 使用可能性
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('tec_events_integrations_google_google_events_schema_is_needed', '__return_true');

このサンプルは、Google統合においてイベントスキーマを常に必要とする設定を行っています。

出典: https://theeventscalendar.com/

サンプル2: 特定の条件でスキーマを無効化

このコードは、特定のイベントカテゴリーの場合にスキーマを無効化します。

add_filter('tec_events_integrations_google_google_events_schema_is_needed', function($is_needed, $event) {
    if (has_term('no-schema', 'tribe_events_cat', $event)) {
        return false;
    }
    return $is_needed;
}, 10, 2);

このサンプルは、特定のカテゴリーのイベントではスキーマを無効にしています。

出典: https://theeventscalendar.com/

サンプル3: スキーマの動的制御

このコードは、ユーザーのロールに基づいてスキーマの有無を制御します。

add_filter('tec_events_integrations_google_google_events_schema_is_needed', function($is_needed) {
    return current_user_can('administrator') ? true : false;
});

このサンプルは、管理者のみスキーマを必要とする条件を設定しています。

出典: https://theeventscalendar.com/

サンプル4: 特定のフィールドをスキーマに追加

このコードは、スキーマに特定のメタフィールドを追加します。

add_filter('tec_events_integrations_google_google_events_schema_is_needed', function($is_needed, $event, $args) {
    $args['custom_field'] = get_post_meta($event->ID, 'custom_meta_key', true);
    return $is_needed;
}, 10, 3);

このサンプルは、指定されたメタデータをスキーマに追加しています。

出典: https://theeventscalendar.com/

サンプル5: スキーマの条件をイベントの開催日時に基づいて変更

このコードは、イベントの開催日時に基づいてスキーマの必要性を制御します。

add_filter('tec_events_integrations_google_google_events_schema_is_needed', function($is_needed, $event) {
    if (strtotime($event->event_start) < time()) {
        return false; // 過去のイベントはスキーマが不要
    }
    return $is_needed;
}, 10, 2);

このサンプルは、過去のイベントに対してスキーマを無効にしています。

出典: https://theeventscalendar.com/

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


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