ワードプレスのis_page関数の使用方法・解説

概要

is_page関数は、現在のリクエストが特定のページを表示しているかどうかを調べるために使用されます。これは、特定のページに対してカスタムロジックを実装する際によく用いられる関数です。以下は、is_page関数がよく使用されるシナリオの一部です:

  1. 特定のページに対して異なるテンプレートを表示する際
  2. ページごとに異なるスタイルシートやスクリプトを読み込む際
  3. SEO対策のため、特定のページにメタタグを追加する際
  4. ユーザーの権限や役割に基づいてページの表示を変更する際
  5. 特定のページにおけるウィジェットの非表示や表示を制御する際
  6. 特定のページでカスタムクエリを実行する際
  7. 404エラーやリダイレクトを特定のページに結びつける際
  8. 特定の条件下でページコンテンツを変更・フィルタする際

この関数は、WordPressのテーマやプラグインでよく使われます。

構文

is_page( $page = '' );

パラメータ

  • $page (オプション):チェックするページのID、スラッグ、またはタイトルを指定します。指定しない場合、現在のページがすべてのページに対してチェックされます。

戻り値

  • true:現在のページが指定されたページの場合
  • false:それ以外の場合

関連する関数

使用可能なバージョン

is_page関数はWordPress 1.5以降で利用可能です。

コアファイルのパス

この関数は、WordPressのコアファイルで 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_page('contact') ) {
       // contact.php テンプレートを使用
       include 'contact.php';
    }
    

    このコードは、現在表示されているページが「contact」というスラッグのページであれば、そのテンプレートファイルを使用します。

  2. 特定のページで異なるスタイルを追加する

    function my_custom_styles() {
       if ( is_page('about') ) {
           wp_enqueue_style('about-style', get_stylesheet_directory_uri() . '/about.css');
       }
    }
    add_action('wp_enqueue_scripts', 'my_custom_styles');
    

    このコードは、「about」ページの際に特定のスタイルシートを読み込む例です。

  3. 特定のページでメタタグを追加する

    function add_meta_tags() {
       if ( is_page('products') ) {
           echo '<meta name="description" content="Our Products">';
       }
    }
    add_action('wp_head', 'add_meta_tags');
    

    このコードは、特定のページにメタタグを追加する方法を示しています。

  4. 404エラーページでリダイレクトを行う

    function redirect_on_404() {
       if ( is_404() && is_page('error') ) {
           wp_redirect(home_url('/'));
           exit;
       }
    }
    add_action('template_redirect', 'redirect_on_404');
    

    このコードは、404エラーの際に「error」ページにリダイレクトする例です。

  5. カスタムクエリを特定のページで実行する

    function custom_query_for_page() {
       if ( is_page('blog') ) {
           $query = new WP_Query(array('post_type' => 'post'));
           // カスタムクエリのループ処理
       }
    }
    add_action('pre_get_posts', 'custom_query_for_page');
    

    このコードは、「blog」というページでカスタムクエリを実行する方法を示しています。

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


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