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

概要

WordPressプラグイン「The Events Calendar」におけるフィルタ tec_events_seo_robots_meta_allowable_post_types は、SEOに関連するロボットメタタグを制御するために使用されます。このフィルタを利用することで、特定の投稿タイプに対して検索エンジンがどのようにインデックスを行うかを指定できます。この機能は、イベントカレンダーが発行するイベントページやカスタム投稿タイプに対して、SEO対策を強化したいときに役立ちます。

このフィルタは、以下のような場面でよく使用されます。
1. 特定の投稿タイプのインデックスを許可または制限する。
2. カスタム投稿タイプをSEOに適した形で扱う。
3. イベントの表示や公開設定を制御する。
4. ページ毎に異なるロボットメタタグを適用する。
5. SEOプラグインとの統合を促進する。
6. ショートコードやAPIからの呼び出し時のロボット設定を調整する。

構文

apply_filters( 'tec_events_seo_robots_meta_allowable_post_types', $post_types );

パラメータ

  • $post_types (配列): 許可される投稿タイプの配列。

戻り値

  • (配列): フィルタ処理された投稿タイプの配列。

WordPressおよびプラグインのバージョン

  • WordPress: バージョン5.0以上
  • The Events Calendar: バージョン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_seo_robots_meta_allowable_post_types', 'my_custom_post_types' );

function my_custom_post_types( $post_types ) {
    return array( 'event', 'custom_event' );  // 'event' と 'custom_event' のみ許可
}

このサンプルコードは、event および custom_event という2つのカスタム投稿タイプのみをSEOインデックスに許可します。

サンプルコード2: 投稿タイプに “noindex” を設定する

add_filter( 'tec_events_seo_robots_meta_allowable_post_types', 'set_noindex_for_default' );

function set_noindex_for_default( $post_types ) {
    if ( in_array( 'post', $post_types ) ) {
        $post_types = array_diff( $post_types, array( 'post' ) ); // 'post' を除外
    }
    return $post_types;
}

このサンプルは、既存の投稿タイプの中から post を除外することにより、そのページを検索エンジンがインデックスしないようにします。

サンプルコード3: Metaタグのカスタマイズ

add_filter( 'tec_events_seo_robots_meta_allowable_post_types', 'customize_meta_tags' );

function customize_meta_tags( $post_types ) {
    // 特定の条件に基づいてメタタグをカスタマイズするロジックを追加
    return $post_types;
}

このサンプルは、投稿タイプの条件に応じてロジックを実装する場所を示しています。

サンプルコード4: すべてのカスタム投稿タイプを許可

add_filter( 'tec_events_seo_robots_meta_allowable_post_types', 'allow_all_custom_types' );

function allow_all_custom_types( $post_types ) {
    $post_types = array_merge( $post_types, get_post_types( array( '_builtin' => false ) ) ); // すべてのカスタム投稿タイプを追加
    return $post_types;
}

このコードは、WordPressのすべてのカスタム投稿タイプをSEOインデックスに追加します。

サンプルコード5: 既存の投稿タイプを条件付きで許可する

add_filter( 'tec_events_seo_robots_meta_allowable_post_types', 'conditional_post_types' );

function conditional_post_types( $post_types ) {
    if ( is_user_logged_in() ) {
        $post_types[] = 'premium_event'; // ユーザーがログインしているときに 'premium_event' を追加
    }
    return $post_types;
}

このサンプルは、ユーザーがログインしている場合にのみ premium_event 投稿タイプを許可します。

これらのコードはすべて、著作権フリーのサンプルコードとして利用できます。

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


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