概要
get_term_feed_link
フィルタは、タームフィードのURLを取得する際に使用されるフィルタです。このフィルタを使用することで、タームフィードのリンクをカスタマイズしたり、特定の条件に基づいて異なるURLを返すことができます。多くの場合、テーマやプラグインの開発で役立ち、次のような機能を実装する際によく使われます。
- タームに基づくRSSフィードの生成
- 外部サービスとの統合
- ナビゲーションメニューにカスタムフィードへのリンクを追加する
- 特定の条件に応じたフィードのカスタマイズ
- SEO対策のためのフィードURLの変更
- フィードのバージョン管理
- カスタムポストタイプのフィードを提供する
- カスタムエンドポイントの作成
構文
apply_filters( 'get_term_feed_link', string $feed_link, WP_Term $term, string $feed );
パラメータ
feed_link
(string) – デフォルトのフィードURLterm
(WP_Term) – 対象のタームオブジェクトfeed
(string) – フィードの種類(例: ‘rss2’, ‘atom’など)
戻り値
戻り値は、フィルタを適用した後のタームフィードのURL(string型)です。
関連する関数
このフィルタを使用可能なバージョン
- WordPress 2.3以上
コアファイルのパス
wp-includes/taxonomy.php
サンプルコード
サンプルコード 1: タームフィードのURLをカスタマイズ
add_filter( 'get_term_feed_link', 'custom_feed_link', 10, 3 );
function custom_feed_link( $feed_link, $term, $feed ) {
if ( $term->taxonomy === 'category' ) {
// カスタムフィードURLを設定
return 'https://example.com/custom-feed/?cat=' . $term->term_id;
}
return $feed_link;
}
このコードは、カテゴリータームのフィードリンクをカスタムのURLに変更します。
サンプルコード 2: YAML形式のフィードを追加
add_filter( 'get_term_feed_link', 'add_yaml_feed_link', 10, 3 );
function add_yaml_feed_link( $feed_link, $term, $feed ) {
if ( $feed === 'yaml' ) {
return 'https://example.com/feeds/yaml/?term=' . $term->slug;
}
return $feed_link;
}
このコードは、”yaml”という形式のフィードをタームに対して追加します。
サンプルコード 3: フィードパラメータを追加
add_filter( 'get_term_feed_link', 'add_parameters_to_feed', 10, 3 );
function add_parameters_to_feed( $feed_link, $term, $feed ) {
return add_query_arg( 'source', 'custom', $feed_link );
}
このコードは、全てのフィードURLにsource
パラメータを追加します。
サンプルコード 4: 特定のタームのフィードをブロック
add_filter( 'get_term_feed_link', 'block_specific_feed', 10, 3 );
function block_specific_feed( $feed_link, $term, $feed ) {
if ( $term->slug === 'no-feed' ) {
return false; // フィードを提供しない
}
return $feed_link;
}
このコードは、スラッグが”no-feed”のタームのフィードを無効にします。
サンプルコード 5: フィードの形式を統一
add_filter( 'get_term_feed_link', 'unify_feed_format', 10, 3 );
function unify_feed_format( $feed_link, $term, $feed ) {
return str_replace( 'http', 'https', $feed_link ); // HTTPをHTTPSに置換
}
このコードは、全てのフィードリンクをHTTPSに統一します。
この関数のアクションでの使用可能性
アクション | 使用可能性 |
---|---|
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 |
非推奨または削除されたバージョン
特に非推奨または削除されたバージョンはありません。