概要
tec_events_add_no_index_meta_tagフィルタは、The Events Calendarプラグインの特定のページに対して「noindex」メタタグを追加するためのフックです。このフィルタを使うことで、特定のコンテンツが検索エンジンにインデックスされるのを防ぎたい場合などに利用されます。
よく使われる機能
tec_events_add_no_index_meta_tagフィルタは以下のような状況でよく使用されます。
1. イベントページのインデックスを防ぎたい時。
2. テストサイトや開発環境でのページインデックスを制御したい時。
3. 特定のカスタム投稿タイプを無効にしたい時。
4. 重複コンテンツの問題を回避したい時。
5. プライバシー保護のための設定を行う時。
6. SEO戦略に基づいて特定ページを非表示にしたい時。
構文
add_filter('tec_events_add_no_index_meta_tag', 'your_custom_function');
パラメータ
$no_index: 現在の「noindex」状態(trueまたはfalse)。
戻り値
- bool:
trueであれば「noindex」を追加する。
バージョン
- 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: イベントページにnoindexを追加する
add_filter('tec_events_add_no_index_meta_tag', function($no_index) {
return true; // すべてのイベントページにnoindexを追加
});
このサンプルでは、すべてのイベントページに対して「noindex」メタタグを追加しています。
サンプル2: 特定のイベントだけにnoindexを追加する
add_filter('tec_events_add_no_index_meta_tag', function($no_index) {
if (is_singular('tribe_events') && get_the_ID() == 123) {
return true; // IDが123のイベントページにのみnoindex
}
return $no_index;
});
このコードは、特定のイベント(IDが123)にのみ「noindex」を追加しています。
サンプル3: クエリパラメータに基づいてnoindexを設定
add_filter('tec_events_add_no_index_meta_tag', function($no_index) {
if (isset($_GET['noindex']) && $_GET['noindex'] === 'true') {
return true; // URLパラメータでnoindexを制御
}
return $no_index;
});
このサンプルは、URLに「noindex=true」のクエリパラメータがある場合に「noindex」を追加します。
サンプル4: 管理者がアクセスしている場合はnoindexを追加しない
add_filter('tec_events_add_no_index_meta_tag', function($no_index) {
if (is_user_logged_in() && current_user_can('administrator')) {
return false; // 管理者にはnoindexを追加しない
}
return $no_index;
});
このコードは、ログイン中の管理者がイベントページを表示する場合、noindexを追加しないように設定しています。
サンプル5: フロントエンドのユーザーの役割に基づいてnoindexを追加
add_filter('tec_events_add_no_index_meta_tag', function($no_index) {
if (is_user_logged_in() && !current_user_can('editor')) {
return true; // 編集者以外にはnoindexを追加
}
return $no_index;
});
このサンプルは、ログインしているユーザーが編集者でない場合にnoindexを追加します。