最新消息:Welcome to the puzzle paradise for programmers! Here, a well-designed puzzle awaits you. From code logic puzzles to algorithmic challenges, each level is closely centered on the programmer's expertise and skills. Whether you're a novice programmer or an experienced tech guru, you'll find your own challenges on this site. In the process of solving puzzles, you can not only exercise your thinking skills, but also deepen your understanding and application of programming knowledge. Come to start this puzzle journey full of wisdom and challenges, with many programmers to compete with each other and show your programming wisdom! Translated with DeepL.com (free version)

wp query - Get all Posts If has same custom field values in Posts

matteradmin4PV0评论

I am trying to get a list of posts if has same zipcode values. Thanks in advance for the help.

<?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() ) : ?>
<?php 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; ?>

I am trying to get a list of posts if has same zipcode values. Thanks in advance for the help.

<?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() ) : ?>
<?php 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; ?>
Share Improve this question edited Mar 27, 2019 at 14:34 fuxia 107k39 gold badges255 silver badges459 bronze badges asked Mar 26, 2019 at 9:09 PraveenPraveen 2405 silver badges19 bronze badges 3
  • What does the above code do? Is it working? And what do the full values in zipcode look like? Can you reformat your code so it's easier to read? Indenting correctly should be enough – Tom J Nowell Commented Mar 26, 2019 at 9:42
  • @TomJNowell zipcode are numbers for example 12345. If posts have value 12345 in the custom field. then it should display all posts which have the 12345 value. The above code is working fine but displays only one post. – Praveen Commented Mar 26, 2019 at 9:45
  • Are those metavalues only zipcodes? Your code block implies it's actually a comma separated list e.g. 12346,67890,etc... – Tom J Nowell Commented Mar 26, 2019 at 14:23
Add a comment  | 

2 Answers 2

Reset to default 2

Following code will be proper for the meta query.

  $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; ?>

Hope it helps.

This code may help you to get perfect results.

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

comment list (0)

  1. No comments so far