概要
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 投稿タイプを許可します。
これらのコードはすべて、著作権フリーのサンプルコードとして利用できます。