概要
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">';
}
このコードは、フィードリクエストに対して特定のメタタグを追加します。