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

概要

is_single関数は、投稿かどうかを調べるためのWordPressの関数です。この関数を使用すると、特定の投稿が表示されているかどうかを判断することができます。主に以下のような機能を実装する際によく使われます。

  1. 特定の投稿フォームや要素を表示する制御
  2. サイドバーやウィジェットの表示内容の条件付け
  3. ソーシャルシェアボタンの表示制御
  4. カスタムCSSクラスの適用
  5. 特定のスクリプトやスタイルの読み込みの条件付け
  6. SEO対策のためのメタタグの挿入
  7. 解析ツールのトラッキングコードの条件付け
  8. 投稿特有のナビゲーションメニューの生成

構文

is_single( mixed $post = '' )

パラメータ

  • $post (mixed) – 任意の投稿のID、スラッグ、または投稿オブジェクト。指定しない場合は、現在の投稿が対象となります。

戻り値

  • (bool) – 現在のページが単一投稿である場合は true、そうでない場合は false を返します。

関連する関数

使用可能なバージョン

  • すべてのバージョンで利用可能です。

コアファイルのパス

  • wp-includes/query.php

サンプルコード

  1. 特定の投稿IDをチェック

    • 現在のページがIDが5の投稿であれば、特定のメッセージを表示する。
    if (is_single(5)) {
       echo '特定の投稿が表示されています。';
    }
    
  2. 投稿スラッグを利用

    • 「my-post」というスラッグの投稿が表示されている場合、特定のCSSクラスを追加する。
    if (is_single('my-post')) {
       echo '<div class="my-custom-class">この投稿専用のスタイル</div>';
    }
    
  3. 投稿オブジェクトを利用

    • 投稿オブジェクトを取得し、その投稿が単一ページであればタイトルを表示する。
    $post = get_post();
    if (is_single($post)) {
       echo '<h1>' . get_the_title($post) . '</h1>';
    }
    
  4. 複数の特定の投稿をチェック

    • 5と7のIDの投稿が表示されている場合、特定のナビゲーションメニューを表示する。
    if (is_single(array(5, 7))) {
       wp_nav_menu(array('theme_location' => 'special-menu'));
    }
    
  5. 条件付きスクリプトの読み込み

    • 単一投稿のときだけ特定のスクリプトを読み込む。
    function my_custom_scripts() {
       if (is_single()) {
           wp_enqueue_script('my-script', get_template_directory_uri() . '/js/custom.js', array(), null, true);
       }
    }
    add_action('wp_enqueue_scripts', 'my_custom_scripts');
    

この関数のアクションでの使用可能性

アクション 使用可能性
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

この関数は特定のWordPressバージョンで削除または非推奨になっていないため、利用可能な最新の状態です。

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


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