概要
is_search
関数は、現在のページが検索結果であるかを調べるための関数です。この関数を使用することで、特定の検索結果ページに特化した処理や出力を行うことができます。具体的には、以下のような機能を実装する際によく使われます。
- 検索結果のカスタマイズ
- 検索結果ページ専用のスタイルシートの読み込み
- 検索結果のメッセージ表示
- 検索結果に基づく広告の表示
- 検索ボックスの位置の調整
- 検索エラーメッセージの表示
- 特定のウィジェットの表示・非表示の制御
- SEO対策としてのメタタグのカスタマイズ
構文
is_search();
パラメータ
is_search
関数には、パラメータはありません。
戻り値
true
: 現在のページが検索結果ページの場合。false
: 現在のページが検索結果ページでない場合。
関連する関数
使用可能なバージョン
is_search
関数は、WordPress 1.5.0以降で使用可能です。
コアファイルのパス
is_search
関数は、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_search() ) {
echo '<h2>検索結果</h2>';
}
このコードは、検索結果ページで「検索結果」という見出しを表示します。
サンプル2: 検索結果専用のスタイルシートを読み込む
add_action( 'wp_enqueue_scripts', 'custom_search_styles' );
function custom_search_styles() {
if ( is_search() ) {
wp_enqueue_style( 'search-style', get_template_directory_uri() . '/css/search.css' );
}
}
このコードは、検索結果ページのためのスタイルシートを読み込みます。
サンプル3: 検索結果なしのエラーメッセージ
if ( is_search() && ! have_posts() ) {
echo '<p>検索結果は見つかりませんでした。</p>';
}
このコードは、検索結果がない場合にエラーメッセージを表示します。
サンプル4: 特定のウィジェットの表示制御
if ( is_search() ) {
dynamic_sidebar( 'search-widget-area' );
}
このコードは、検索結果ページの時だけ特定のウィジェットエリアを表示します。
サンプル5: SEOメタタグのカスタマイズ
if ( is_search() ) {
echo '<meta name="robots" content="noindex,nofollow">';
}
このコードは、検索結果ページにnoindexメタタグを追加します。これにより、検索エンジンがこのページをインデックスしないようにします。