it-roy-ru.com

исключить пользовательский тип записи по мета-ключу в wp_query

Я пытаюсь отобразить пользовательский тип сообщения (свойства) и исключить сообщения, которые имеют определенное мета-значение (продано). Есть ли способ, которым я могу это сделать? У меня есть это для моего кода до сих пор:

                        $args = array(
                            'post_type'      => 'property',
                            'orderby'        => 'meta_value',
                            'meta_key'       => 'random_775',
                            'order'          => 'ASC',
                            'posts_per_page' => 100,
                        );

                    $the_query = new WP_Query( $args ); ?>
                    <?php if ( $the_query->have_posts() ) : ?>
                    <?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>

Так что сейчас он показывает все пользовательские типы постов, даже те, которые "продаются". Как я могу показать те, которые не продаются? Кроме того, продано это просто флажок, поэтому он должен знать, был ли он проверен или нет.

Предложения? Спасибо!

2
graphical_force

Если вы не используете другие метаданные, просто добавьте следующее к своему $args:

'meta_key' => 'sold',
'meta_value' => true, // or whatever it is you're using here
'meta_compare' => '!=',

В противном случае используйте WP_Meta_Query:

'meta_query' => array(
    array(
        'key' => 'sold',
        'value' => true,  // or whatever it is you're using here
        'compare' => 'NOT LIKE',
    ),
),

Смотрите здесь для более подробной информации:

6
tfrommen