プラグインThe Events Calendarのtec_is_{$view_slug}_viewフィルタの使用方法・解説

概要

tec_is_{$view_slug}_view フィルタは、The Events Calendar プラグインにて特定のビュー(例:月、週、日)に関連するカスタマイズを行うために使用されるフックです。このフィルタは、特定の条件下でイベントページの振る舞いを変更する際に活用されます。具体的には、以下のような機能を実装する際によく用いられます。

  1. 特定のビューに対するカスタムスタイルの追加
  2. 特定のビューでのみ表示するウィジェットの変更
  3. イベントリストのフィルタリング条件の変更
  4. 表示される出力のカスタマイズ
  5. スクリプトやスタイルの条件付き読み込み
  6. 特定のビューに対するメッセージや通知の追加

構文

add_filter( 'tec_is_{$view_slug}_view', 'your_custom_function' );

パラメータ

  • $view_slug:ビューのスラッグ(例:monthweekday
  • your_custom_function:フックをかけるカスタム関数

戻り値

  • true または false:ビューが一致する場合は true、一致しない場合は false を返します。

バージョン情報

  • The Events Calendar プラグインのバージョン:5.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_is_month_view', function( $is_month_view ) {
    if ( is_user_logged_in() ) {
        return true; // ログインユーザーには月ビューを常に表示
    }
    return $is_month_view;
});

このコードは、ログイン中のユーザーに対して常に月のビューを表示します。未ログインの場合は元の状態を維持します。

サンプルコード 2

add_filter( 'tec_is_week_view', function( $is_week_view ) {
    return is_single() ? false : $is_week_view; // シングルイベントページでは週ビューを表示しない
});

このコードは、シングルイベントページにいる間は週のビューを表示しないようにします。

サンプルコード 3

add_filter( 'tec_is_day_view', function( $is_day_view ) {
    return ( isset($_GET['custom']) ) ? true : $is_day_view; // "custom" クエリ文字列がある場合、日ビューを表示
});

このコードは、特定のクエリ文字列が存在する場合に日ビューを表示します。

サンプルコード 4

add_filter( 'tec_is_month_view', function( $is_month_view ) {
    if ( date('m') == '12' ) {
        return true; // 12月の場合は月ビューを表示
    }
    return $is_month_view;
});

このコードは、12月である場合に限り月のビューを表示します。

サンプルコード 5

add_filter( 'tec_is_week_view', function( $is_week_view ) {
    return !is_admin() ? $is_week_view : false; // 管理者エリアでは週ビューを表示しない
});

このコードは、管理者エリアでは週のビューを表示しないようにしています。

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


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