プラグインThe Events Calendarのtec_events_ical_header_noindexフィルタの使用方法・解説

概要

tec_events_ical_header_noindex フィルタは、The Events Calendar プラグインに関連する iCalendar ヘッダーにおける noindex メタタグの挿入を制御します。このフィルタを使用することで、iCalendar リソースが検索エンジンにインデックスされないようにするか、あるいはその逆を選択することができます。具体的には、次のような機能に利用されることが多いです。

  1. SEO最適化のための noindex タグの制御
  2. 特定のカスタム投稿タイプのインデックス設定
  3. イベントデータを Google カレンダーなどの外部サービスにエクスポートする際の設定
  4. イベントページへのクローリングを防ぐための設定
  5. 特定のユーザーや条件に基づく動的な制御
  6. 開発者によるフィルタの利用を通じたプラグインの柔軟なカスタマイズ

構文

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 を適用し、それ以外のページではインデックスを許可します。

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


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