メディアライブラリの画像を検索する際、完全一致だけでなく、部分一致や曖昧検索なども可能です。WP_Queryを使うことで、柔軟に検索条件を変更できます。
1. 完全一致の検索
これは画像タイトルやタグなどに対して完全一致で検索する場合です。
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'posts_per_page' => -1,
's' => '検索キーワード' // 完全一致でタイトルや説明に一致するものを検索
);
$query = new WP_Query($args);この's'引数は、画像のタイトルや説明(post_titleやpost_excerpt)に基づいて検索されます。
2. 部分一致の検索
WP_Queryのs引数は部分一致にも対応しています。例えば、検索キーワードが「cat」だとしたら、タイトルや説明に「cat」が含まれている画像をすべて取得できます。
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'posts_per_page' => -1,
's' => 'cat' // 部分一致検索
);
$query = new WP_Query($args);このように、完全一致だけでなく、部分一致でも検索可能です。
3. カスタムフィールドやタグで検索
画像にカスタムフィールドやタグが設定されている場合、meta_queryやtax_queryを使って検索を絞り込むことができます。
例:タグで部分一致検索
$args = array(<br> 'post_type' => 'attachment',<br> 'post_mime_type' => 'image',<br> 'posts_per_page' => -1,<br> 'tax_query' => array(<br> array(<br> 'taxonomy' => 'post_tag',<br> 'field' => 'name',<br> 'terms' => 'cat', // タグに「cat」を含む画像を検索<br> 'operator' => 'LIKE', // 部分一致<br> ),<br> ),<br>);<br>$query = new WP_Query($args);例:カスタムフィールドで部分一致検索
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'custom_field_key', // カスタムフィールド名
'value' => 'cat', // カスタムフィールドの値(部分一致)
'compare' => 'LIKE', // 部分一致
),
),
);
$query = new WP_Query($args);4. 他の検索条件の追加
さらに、画像のアップロード日やカテゴリーを条件に加えて絞り込むこともできます。例えば、特定の期間にアップロードされた画像を検索する場合は、date_queryを使用できます。
$args = array(
'post_type' => 'attachment',
'post_mime_type' => 'image',
'posts_per_page' => -1,
'date_query' => array(
array(
'after' => '2025-01-01', // 2025年1月1日以降の画像
),
),
);
$query = new WP_Query($args);
コメントを残す