web-dev-qa-db-ja.com

投稿取得機能にメタキーが存在する場合はそれ以外の場合は作成する

次のコードは、自宅電話番号のメタキーを使って投稿を取得します。

$metas = ''; 
    $args = array(
    'numberposts' => 1,
    'post_type' => 'electors',
    'orderby' => 'post_date',
    'order' => 'ASC',
    'meta_query' => array(
        array(
            'key' => 'wpcf-home_telephone_number',
            'value' => '0',
            'compare' => '>'
        )
     ) 
    );


$canvassing = get_posts( $args );

探しているメタをもう1つ追加したいです。問題は、このメタがすべての投稿に存在するわけではないということです。メタキーを持っていないか、値を持っていない投稿を取得したいです。

array(
            'key' => 'wpcf-success',

            'value' => ''
        )

このコードは、値のないキーを持つ投稿のみを取得します。このキーがまったくない投稿も欲しいのですが。

私はこのadd_post_meta($post->ID, 'wpcf-success', '', true);を疲れましたが、まだ投稿を取得していないので、投稿IDはまだありません。

1
Robin Knight

この「存在しない」機能は、通常のメタクエリでは不可能です。それは取り組んでいます、しかしそれは将来のリリースにシャッフルされているようです( もっと多くの洞察のためにこのtracチケットを見てください )。

それまでの間、 DeadMedicの答えのように、$ wpdb を使用してカスタムSQLステートメント を実行する必要があります ミロがコメントでリンクしていること。

1
MathSmath