web-dev-qa-db-ja.com

メタ値が空のすべての投稿をクエリする

メタ値が空の投稿をクエリします。たとえば、メタ値なしでこれら3つの投稿を取得するとします。 enter image description here

すでに試しました:

$args = array(
    'post_type'   => 'attachment',
    'posts_per_page' => 10,
    'paged'          => $paged,
    'meta_query'  => array(
        array(
            'key' => '_wp_attachment_image_alt',
            'value' => '',
            'compare' => 'LIKE'
        )
    )
);
$attachments = new WP_Query($args);

そして:

$args = array(
    'post_type'   => 'attachment',
    'posts_per_page' => 10,
    'paged'          => $paged,
    'meta_query'  => array(
        array(
            'key' => '_wp_attachment_image_alt',
            'value' => null,
            'compare' => 'LIKE'
        )
    )
);

しかし、うまくいきません。

どのようにこれを解決するのですか?

ありがとうございました

3
Avishay

inherit postステータスを忘れたと思います。 WP_Queryのデフォルトは publish です。

SQLクエリで=を使用しないようにするには、LIKEの代わりにLIKE '%%'を使用する必要もあります。

だからこれを追加してみてください:

'post_status' => 'inherit'

そして

'compare' => '='

空の_wp_attachment_image_alt文字列値と一致するように、クエリ引数に追加します。

3
birgire