is_attachment()


関数is_attachment()は、現在の投稿が添付ファイル(画像、PDFなど)であるかどうかを判定するために使用されるWordPressの関数です。この関数は、添付ファイルのページでtrueを返し、それ以外の場合はfalseを返します。

構文

is_attachment( int|WP_Post $post = null );
  • $post(int|WP_Post) — チェックする投稿のIDまたは投稿オブジェクト。デフォルトはnullで、現在の投稿をチェックします。

例1: 現在の投稿が添付ファイルかどうかをチェック

この例では、現在の投稿が添付ファイルかどうかをチェックし、結果を表示します。

<?php if ( is_attachment() ) { echo 'これは添付ファイルです。'; } else { echo 'これは添付ファイルではありません。'; } ?>

例2: 特定の投稿が添付ファイルかどうかをチェック

この例では、指定した投稿IDが添付ファイルかどうかをチェックします。

<?php if ( is_attachment( get_post( 123 ) ) ) { echo 'この投稿は添付ファイルです。'; } else { echo 'この投稿は添付ファイルではありません。'; } ?>

例3: 添付ファイルのページで特定のコンテンツを表示

この例では、添付ファイルのページでのみ特定のコンテンツを表示します。

<?php if ( is_attachment() ) { echo 'この画像は添付ファイルです。'; } ?>

例4: 添付ファイルのページでカスタムCSSを適用

この例では、添付ファイルのページでのみカスタムCSSを適用します。

<?php if ( is_attachment() ) { echo '<style>body { background-color: #f0f0f0; }</style>'; } ?>

例5: 添付ファイルのページで特定のテンプレートを読み込む

この例では、添付ファイルのページでのみ特定のテンプレートを読み込みます。

<?php if ( is_attachment() ) { get_template_part( 'template-parts/attachment' ); } ?>

注意点

  • is_attachment()は、ループ内またはループ外で使用できますが、ループ外で使用する場合は投稿オブジェクトまたは投稿IDを指定する必要があります。
  • 添付ファイルのページでは、通常の投稿とは異なるレイアウトやスタイルを適用することが一般的です。

関連機能: