概要
tec_events_ical_header_noindex
フィルタは、The Events Calendar プラグインに関連する iCalendar ヘッダーにおける noindex メタタグの挿入を制御します。このフィルタを使用することで、iCalendar リソースが検索エンジンにインデックスされないようにするか、あるいはその逆を選択することができます。具体的には、次のような機能に利用されることが多いです。
- SEO最適化のための noindex タグの制御
- 特定のカスタム投稿タイプのインデックス設定
- イベントデータを Google カレンダーなどの外部サービスにエクスポートする際の設定
- イベントページへのクローリングを防ぐための設定
- 特定のユーザーや条件に基づく動的な制御
- 開発者によるフィルタの利用を通じたプラグインの柔軟なカスタマイズ
構文
add_filter('tec_events_ical_header_noindex', 'my_custom_noindex_function');
function my_custom_noindex_function($noindex) {
return true; // 常に noindex を適用する
}
パラメータ
$noindex
: 既定の noindex 設定。真偽値(boolean)型。デフォルトはfalse
。
戻り値
- このフィルタは、引数
$noindex
の値を返すことで動作し、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
add_filter('tec_events_ical_header_noindex', function($noindex) {
if (is_user_logged_in()) {
return false; // ログインユーザーにはインデックスを許可
}
return true; // それ以外は noindex
});
このサンプルコードはログインユーザーに対して iCalendar データのインデックスを許可し、未ログインのユーザーには noindex を適用します。
サンプル2
add_filter('tec_events_ical_header_noindex', '__return_false');
このコードは、iCalendar のヘッダーに noindex タグを追加しないように設定します。すべてのユーザーに対してインデックスが許可されます。
サンプル3
add_filter('tec_events_ical_header_noindex', function($noindex) {
if (is_single('event')) {
return false; // 特定のイベントページに対して noindex を解除
}
return $noindex;
});
このサンプルは、特定の「event」カスタム投稿タイプに対して noindex を解除します。
サンプル4
add_filter('tec_events_ical_header_noindex', function($noindex) {
$current_user = wp_get_current_user();
if (in_array('administrator', $current_user->roles)) {
return false; // 管理者には noindex を適用しない
}
return $noindex;
});
このコードは、管理者のみが iCalendar リソースをインデックスできるようにします。
サンプル5
add_filter('tec_events_ical_header_noindex', function($noindex) {
return !is_month(); // 月間アーカイブページでは noindex を適用
});
このコードは、月間アーカイブページでのみ noindex を適用し、それ以外のページではインデックスを許可します。