Функция Wordpress: get_posts

Сумасшедшая ночь! ;П

Я разрабатываю плагин для Wordpress и теряюсь в поисках функции.

Что я сделал,

$args = array("meta_key" => "email", "meta_value" =>$email);
$posts = get_posts($args);

Я сделал это, чтобы отфильтровать настраиваемые поля с одним и тем же адресом электронной почты,

if (count($posts) < 0){ // do something }

Проблема в том, что get_posts не работал с пользовательскими сообщениями,

$args = array('post_type' => 'reserva', "meta_key" => "wpcf-email", "meta_value" =>$email);

Мне нравится находить что-то вроде get_posts для подсчета.

Я думаю, что у меня плохое решение: зациклить его, но я хочу его массивировать.

Есть идеи?

Спасибо, С уважением,


person Skant    schedule 04.02.2014    source источник


Ответы (3)


Используйте meta_query в массиве аргументов.

person dancriel    schedule 04.02.2014

Попробуйте это, если вы хотите, чтобы сообщение было связано с meta_key и meta_value, поэтому используйте этот http://codex.wordpress.org/Class_Reference/WP_Meta_Query

person Community    schedule 05.02.2014

спасибо большое, сейчас проверю

Как я сказал сегодня вечером, я сделал уродливое решение,

Я сделал цикл со счетчиком в порядке, чтобы узнать, существуют ли настраиваемые поля.

Вот уродливый код,

<?php // Find matches in csutom post types
$my_consulta = array(
  'post_type'     => 'reserva',
  'post_status'   => 'draft',
  'post_key'   => 'wpcf-email',
  'meta_value'   => $email,                       
);                  


$wp_query = new WP_Query($my_consulta);
$count = 0; 

while ( have_posts() ) : the_post();

    $count = $count + 1;
    endwhile;

    if ($count == 0){ 

        //No matches        

    } else {

    //There is one or more matches

    } 
?>  

Хороший способ?

С уважением, Кристиан

person Skant    schedule 05.02.2014