概要
tec_is_{$view_slug}_view
フィルタは、The Events Calendar プラグインにて特定のビュー(例:月、週、日)に関連するカスタマイズを行うために使用されるフックです。このフィルタは、特定の条件下でイベントページの振る舞いを変更する際に活用されます。具体的には、以下のような機能を実装する際によく用いられます。
- 特定のビューに対するカスタムスタイルの追加
- 特定のビューでのみ表示するウィジェットの変更
- イベントリストのフィルタリング条件の変更
- 表示される出力のカスタマイズ
- スクリプトやスタイルの条件付き読み込み
- 特定のビューに対するメッセージや通知の追加
構文
add_filter( 'tec_is_{$view_slug}_view', 'your_custom_function' );
パラメータ
$view_slug
:ビューのスラッグ(例:month
、week
、day
)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; // 管理者エリアでは週ビューを表示しない
});
このコードは、管理者エリアでは週のビューを表示しないようにしています。