こんにちは、阿久梨絵です!
WordPress のテーマやプラグイン開発では、条件分岐タグ を使ってページの種類を判定することがよくあります。その中でも is_single() は、投稿ページ(Single Post)を判定するための関数 です。
本記事では、is_single()の基本的な使い方や応用例 について詳しく解説します!
is_single()とは?
is_single() は、現在表示されているページが「投稿ページ」かどうかを判定する WordPressの条件分岐関数です。
・投稿ページ(Single Post)で true を返す
・固定ページ(Page)やカテゴリーページでは false
・特定の投稿ID・タイトル・スラッグを指定して判定可能
この関数を使うことで、投稿ページ専用のデザインや機能を適用 することができます。
is_single()の基本的な使い方
1. 投稿ページかどうかを判定する
以下のコードを使うと、投稿ページの場合に特定の処理を実行 できます。
if ( is_single() ) {
echo ‘これは投稿ページです!’;
}
このコードをテーマの single.php や functions.php に追加すると、投稿ページでのみメッセージが表示 されます。
2. 特定の投稿IDを指定する
特定の投稿IDを指定して、特定の投稿ページのみ処理を実行 できます。
if ( is_single( 123 ) ) {
echo ‘投稿ID 123 のページです!’;
}
このコードでは、投稿IDが「123」のページでのみメッセージが表示 されます。
3. 投稿タイトルを指定する
投稿タイトルを指定して、特定のタイトルの投稿ページのみ処理を実行 できます。
if ( is_single( ‘Hello World’ ) ) {
echo ‘この投稿のタイトルは「Hello World」です!’;
}
タイトルを指定することで、特定の投稿ページにカスタム処理を適用 できます。
4. 投稿スラッグを指定する
投稿スラッグを指定して、特定のスラッグの投稿ページのみ処理を実行 できます。
if ( is_single( ‘hello-world’ ) ) {
echo ‘この投稿のスラッグは「hello-world」です!’;
}
スラッグを使うことで、URLベースで投稿ページを判定 できます。
5. 配列を使って複数の投稿を指定する
複数の投稿ID・タイトル・スラッグを指定して、複数の投稿ページで処理を実行 できます。
if ( is_single( array( 123, ‘hello-world’, ‘サンプル記事’ ) ) ) {
echo ‘この投稿は指定されたリストに含まれています!’;
}
このコードでは、投稿ID「123」、スラッグ「hello-world」、タイトル「サンプル記事」のいずれかに該当する場合に処理が実行 されます。
is_single()とis_singular()の違い
is_single() と似た関数に is_singular() があります。
・is_single() → 投稿ページ(Single Post)のみ判定
・is_singular() → 投稿ページ+固定ページ+カスタム投稿タイプを判定
例えば、固定ページ(Page)やカスタム投稿タイプも含めて判定したい場合は、is_singular() を使うのが適切 です。
if ( is_singular() ) {
echo ‘これは投稿ページまたは固定ページです!’;
}
このように、用途に応じてis_single()とis_singular()を使い分ける ことが重要です。
まとめ
WordPress の is_single() は、投稿ページ(Single Post)を判定するための条件分岐関数 です。
・投稿ページかどうかを判定できる
・特定の投稿ID・タイトル・スラッグを指定可能
・複数の投稿を配列で指定できる
・固定ページやカスタム投稿タイプを含める場合はis_singular()を使用
この関数を活用することで、投稿ページ専用のデザインや機能を適用 できます!
阿久梨絵でした!