概要
get_tag_feed_linkフィルタは、投稿タグフィードのURLを取得するためのフィルタです。このフィルタを使用することで、デフォルトのタグフィードのリンクをカスタマイズしたり、特定の条件に基づいて異なるフィードのURLを生成することができます。以下のような機能を実装する際によく使用されます。
- タグフィードのURLをカスタマイズする。
- 外部サービス用の特別なフィードURLを生成する。
- フィードに特別なクエリパラメータを追加する。
- タグに関連するメタデータをフィードURLに含める。
- 特定のユーザーや条件に基づいて異なるフィードURLを提供する。
- フィードURLのロジックを変更することでSEOを強化する。
- JSON形式のフィードを提供するためにURLを変更する。
- フィードのフォーマットを変更するためのカスタムエンドポイントを作成する。
構文
apply_filters('get_tag_feed_link', $link, $tag_id);
パラメータ
$link: (string) デフォルトのフィードURL。$tag_id: (int) タグのID。
戻り値
- (string) フィルタリング後のフィードURL。
関連する関数
https://refwp.com/?titleonly=1&s=get_tag_feed_link
使用可能なバージョン
このフィルタは、WordPress 2.1.0以降で使用可能です。
コアファイルのパス
wp-includes/feed.php
この関数のアクションでの使用可能性
| アクション | 使用可能性 |
|---|---|
| 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: タグフィードのURLをカスタマイズする
add_filter('get_tag_feed_link', 'custom_tag_feed_link', 10, 2);
function custom_tag_feed_link($link, $tag_id) {
return 'https://example.com/custom-feed/' . $tag_id;
}
// このサンプルは、タグフィードのURLをカスタマイズして、特定の形式に変更します。
サンプル2: タグ名をフィードURLに追加する
add_filter('get_tag_feed_link', 'add_tag_name_to_feed', 10, 2);
function add_tag_name_to_feed($link, $tag_id) {
$tag = get_tag($tag_id);
return $link . '?tag=' . $tag->slug;
}
// このサンプルは、タグ名をクエリパラメータとしてフィードURLに追加します。
サンプル3: RSSフィードの特別なパラメータを追加
add_filter('get_tag_feed_link', 'add_custom_param_to_feed', 10, 2);
function add_custom_param_to_feed($link, $tag_id) {
return $link . '?custom_param=value';
}
// このサンプルは、RSSフィードに特別なクエリパラメータを追加します。
サンプル4: JSON形式のフィードURLを提供する
add_filter('get_tag_feed_link', 'json_feed_link', 10, 2);
function json_feed_link($link, $tag_id) {
return str_replace('feed/', 'feed/json/', $link);
}
// このサンプルは、フィードURLをJSON形式に変更します。
サンプル5: 特定のユーザー用フィードを生成
add_filter('get_tag_feed_link', 'user_specific_feed', 10, 2);
function user_specific_feed($link, $tag_id) {
if (is_user_logged_in()) {
return $link . '?user=logged_in';
}
return $link;
}
// このサンプルは、ログインしているユーザー向けに異なるフィードURLを提供します。