概要
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; // 管理者エリアでは週ビューを表示しない
});
このコードは、管理者エリアでは週のビューを表示しないようにしています。