ワードプレスのget_tag_feed_linkフィルタの使用方法・解説

概要

get_tag_feed_linkフィルタは、投稿タグフィードのURLを取得するためのフィルタです。このフィルタを使用することで、デフォルトのタグフィードのリンクをカスタマイズしたり、特定の条件に基づいて異なるフィードのURLを生成することができます。以下のような機能を実装する際によく使用されます。

  1. タグフィードのURLをカスタマイズする。
  2. 外部サービス用の特別なフィードURLを生成する。
  3. フィードに特別なクエリパラメータを追加する。
  4. タグに関連するメタデータをフィードURLに含める。
  5. 特定のユーザーや条件に基づいて異なるフィードURLを提供する。
  6. フィードURLのロジックを変更することでSEOを強化する。
  7. JSON形式のフィードを提供するためにURLを変更する。
  8. フィードのフォーマットを変更するためのカスタムエンドポイントを作成する。

構文

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を提供します。

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


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