Получить все сообщения, если в сообщениях есть одинаковые значения полей - PullRequest
1 голос
/ 26 марта 2019

Попытка получить все сообщения, имеющие тот же почтовый индекс, что и мета-значение.Заранее благодарим за помощь.

<?php
                 $query = new WP_Query( array(
                         'post_type'=> array('service'),
                         'posts_per_page' => -1,
                         'meta_query' => array( array(
                              'key'=> 'zipcode',
                              'value'=> ','.$zip.',',
                              'compare'=> 'LIKE'
                             ) )
                         ));                 
?>      

    <?php if ( $query->have_posts() ) :while ( $query->have_posts() ) : $query->the_post();  ?>
           <h3><?php the_title(); ?></h3>
    <?php endwhile; // end of the loop. ?>
    <?php wp_reset_query(); ?>
    <?php else: ?>
          No results found.
    <?php endif; ?>

Почтовый индекс - это числа, например 12345.Если сообщения имеют значение 12345 в настраиваемом поле.тогда он должен отображать все сообщения, которые имеют значение 12345.Приведенный выше код работает нормально, но отображает только один пост.

Ответы [ 2 ]

1 голос
/ 26 марта 2019

Следующий код будет правильным для мета-запроса.

  $query_args = array(
        'post_type'   => 'service',
        'posts_per_page' => -1,
        'meta_query'  => array(
            array(
                'value'   => $zip,
                'compare' => 'LIKE',
                'key'     => 'zipcode',
            ),
        )
    );
   $query = new WP_Query($query_args);
   <?php if ( $query->have_posts() ) :while ( $query->have_posts() ) : $query->the_post();  ?>
       <h3><?php the_title(); ?></h3>
   <?php endwhile; // end of the loop. ?>
   <?php wp_reset_query(); ?>
   <?php else: ?>
      No results found.
   <?php endif; ?>

Надеюсь, это поможет.

0 голосов
/ 26 марта 2019

Есть два пути.

После просмотра этого кода я предлагаю вам просто посетить эту ссылку для лучшего понимания.

(1)

    $args = array(
   'meta_query' => array(
       array(
           'key' => 'Your_key',//Enter your meta key here
           'value' => 'professionnel',//Enter you meta value
           'compare' => '=',//Comparison type (option filed) .
       )
   )
);
$query = new WP_Query($args);

(2) * * 1 010

$output_loop = get_posts( array(
    'meta_key'   => 'Your_key',//Meta key
    'meta_value' => 'Your_value',//Meta value
) );

Теперь просто print_r($output_loop) для лучшего понимания.

...