質問: ### 前提・実現したいこと ワードプレス・プラグインはACF ACFで登録したカスタムフィールド:フィールドタイプ画像に何かしらの画像が入っているかどうかでフィルタリングし記事一覧を表示したい ACFで画像フィールド:フィールド名[bn590]返り値は[画像URL]にしています。 ### 発生している問題・エラーメッセージ 該当がなく一覧が出ない状態です ### 該当のソースコード 'shop', 'paged' => $paged, 'orderby' => 'rand', 'posts_per_page' => 1, 'meta_query' => array( array( 'key' => 'bn590', 'value' => 'http', 'compare' => 'LIKE', ), ), ); ?> ### 試したこと 'key' => 'bn590', key名はbn590で合っていると思います 'value' => 'http', ここのvalueが画像URLが入るわけなので常にhttpは入っていると思いました 'compare' => 'LIKE',上記文字列を含むでフィルタリングするためLIKEにしました
回答: メディアにアップロードした画像の URL が、 `http://example.com/wp-content/uploads/2018/10/29/filename.png` と仮定して説明します。 ACF のフィールドタイプ「画像(image)」で、 URL を指定した場合、データとして降納されるのは、`2018/10/29/filename.png` の部分だけです。 前半のメディアのアップロードディレクトリの URL `http://example.com/wp-content/uploads/` 部分は、**データベースに保存されていません**。出力される際に wp_get_attachment_url() を利用して追加されます。 ということで、 > > 'value' => 'http', > > 'compare' => 'LIKE', > > > の部分を > > 'value' => '', > > 'compare' => '!=', > > > のように `'' ではない`と判断させるか ファイルの拡張子を含むで検索するのが簡単かもしれません。