wp_attachment_is_image()


WordPressの関数wp_attachment_is_image()は、添付ファイルが画像であるかどうかを判定するために使用されます。この関数を使用すると、投稿または添付ファイルのIDを指定して、その添付ファイルが画像かどうかを確認できます。

構文

wp_attachment_is_image( int $attachment_id );
  • $attachment_id (int) — 添付ファイルのID。必須です。

戻り値:

  • true — 添付ファイルが画像の場合。
  • false — 添付ファイルが画像ではない場合。

例 1: 添付ファイルが画像かを確認

以下のコードは、添付ファイルが画像であるかを判定します。

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

例 2: ギャラリー画像のフィルタリング

特定の添付ファイルが画像である場合のみ、表示するギャラリーを作成します。

<?php
$attachments = get_posts( array( 'post_type' => 'attachment' ) );
foreach ( $attachments as $attachment ) {
    if ( wp_attachment_is_image( $attachment->ID ) ) {
        echo wp_get_attachment_image( $attachment->ID, 'thumbnail' );
    }
}
?>

例 3: 投稿のサムネイル画像のチェック

投稿のサムネイルが画像かどうかを確認します。

<?php
$post_thumbnail_id = get_post_thumbnail_id();
if ( $post_thumbnail_id && wp_attachment_is_image( $post_thumbnail_id ) ) {
    echo '投稿のサムネイルは画像です。';
}
?>

例 4: 添付ファイルの種類に基づくカスタム処理

画像添付ファイルの場合にのみ、特定の処理を実行します。

<?php
$attachment_id = 123; // 動的に取得する場合は関数を使用してください
if ( wp_attachment_is_image( $attachment_id ) ) {
    // カスタム処理
    echo '画像処理を開始します。';
}
?>

例 5: メディアライブラリ内の画像リスト作成

画像のみを一覧表示します。

<?php
$media_items = get_posts( array( 'post_type' => 'attachment' ) );
foreach ( $media_items as $item ) {
    if ( wp_attachment_is_image( $item->ID ) ) {
        echo '<li>' . wp_get_attachment_image( $item->ID, 'medium' ) . '</li>';
    }
}
?>

注意点

  • wp_attachment_is_image()は、正しい添付ファイルIDを提供しないと正しく動作しません。
  • 添付ファイルIDが存在しない場合、この関数はfalseを返します。

関連機能: