概要
is_feed
関数は、フィードリクエストなのか調べるために使用されるWordPressの関数です。この関数を使うことで、コンテンツがRSSフィードやAtomフィードとして表示されているかどうかを判定できます。これにより、特定の条件に基づいてコンテンツを変更したり、フィードに特化した内容を表示したりすることが可能になります。
is_feed
関数は、次のようなシナリオで便利です:
- フィード専用のスタイルやスクリプトを読み込むとき。
- フィード表示時に特定のコンテンツを非表示にする場合。
- フィードを通じて提供するカスタムメッセージや通知を追加するとき。
- テーマのヘッダーをフィード用に最適化したいとき。
- フィードリクエストに基づいてサイドバーウィジェットを変更したい場合。
- SEO対策として、特定のメタタグをフィードに追加する場合。
- プラグインの互換性を持たせるためにフィード条件を設定したいとき。
- ユーザーエクスペリエンスを向上させるためにフィード向けの情報を提供する場合。
構文
bool is_feed( string|array $feed = '' );
パラメータ
$feed
(オプション): チェックしたいフィードの種類。文字列または配列として指定できます。
戻り値
true
: 現在のリクエストがフィードである場合。false
: リクエストがフィードでない場合。
関連する関数
使用可能なバージョン
is_feed
関数は、WordPress 1.5.0以降で使用可能です。
コアファイルのパス
is_feed
関数は、wp-includes/query.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: フィード向けに特別なスクリプトを読み込む
if (is_feed()) {
wp_enqueue_script('feed-specific-script', get_template_directory_uri() . '/js/feed.js', array(), '1.0.0', true);
}
このコードは、現在のリクエストがフィードの場合に特定のJavaScriptファイルを読み込みます。
サンプル2: フィードリクエスト時に特定のメッセージを表示
if (is_feed()) {
echo '<p>フィードをご覧いただきありがとうございます!</p>';
}
このコードは、フィードリクエストに対してメッセージを表示します。
サンプル3: サイドバーのウィジェットをフィードリクエスト時に変更
if (is_feed()) {
unregister_widget('WP_Widget_Archives');
}
このコードは、フィードリクエストがある場合にアーカイブウィジェットをサイドバーから削除します。
サンプル4: フィードリクエスト時に特定のCSSを読み込む
if (is_feed()) {
wp_enqueue_style('feed-style', get_template_directory_uri() . '/css/feed.css');
}
このコードは、フィード向けのスタイルシートを読み込みます。
サンプル5: フィードリクエスト時に特定のメタタグを出力
if (is_feed()) {
echo '<meta name="robots" content="noindex, follow">';
}
このコードは、フィードリクエストに対して特定のメタタグを追加します。