WordPress Custom Query - Part 07 - Custom Filters.mp4
PreviousWordPress Custom Query - Part 06 - tax_query.mp4 Lấy bài viết thuộc taxonomy custom (ok)NextWordPress Custom Query - Part 08 - Custom Search.mp4
Last updated
Was this helpful?
Last updated
Was this helpful?
C:\xampp\htdocs\wordpress\wp-content\themes\twentytwentyone\index.php
<?php get_header();?>
<?php
$size = $size = $color = null;
if (isset($_GET['minprice']) && $_GET['minprice'] && !empty($_GET['minprice'])) {
$minprice = $_GET['minprice'];
} else {
$minprice = 0;
}
if (isset($_GET['maxprice']) && $_GET['maxprice'] && !empty($_GET['maxprice'])) {
$maxprice = $_GET['maxprice'];
} else {
$maxprice = 999999;
}
if (isset($_GET['size']) && $_GET['size'] && !empty($_GET['size'])) {
$size = $_GET['size'];
}
if (isset($_GET['color']) && $_GET['color'] && !empty($_GET['color'])) {
$color = $_GET['color'];
}
?>
<div class="container">
<h4 class="lesson-title">WP Custom Query - Custom Filters</h4>
<form action="/wordpress" method="get">
<label>min:</label>
<input type="number" name="minprice" value="<?php echo $minprice; ?>">
<label>max:</label>
<input type="number" name="maxprice" value="<?php echo $maxprice; ?>">
<label>Size:</label>
<select name="size">
<option value="">Any</option>
<option value="A">A</option>
<option value="B">B</option>
<option value="C">C</option>
<option value="D">D</option>
<option value="E">E</option>
</select>
<label>Color:</label>
<select name="color">
<option value="">Any</option>
<option value="red">Red</option>
<option value="blue">Blue</option>
<option value="green">Green</option>
<option value="yellow">Yellow</option>
<option value="purple">Purple</option>
<option value="black">Black</option>
<option value="pink">Pink</option>
</select>
<button type="submit" name="">Filter</button>
</form>
<?php
$args = array(
'post_type' => 'post',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'price',
'type' => 'NUMERIC',
'value' => array($minprice, $maxprice),
'compare' => 'BETWEEN',
),
array(
'key' => 'size',
'value' => $size,
'compare' => 'LIKE',
),
array(
'key' => 'color',
'value' => $color,
'compare' => 'LIKE',
),
),
);
$query = new WP_Query($args);
while ($query->have_posts()): $query->the_post();
?>
<div class="post clearfix">
<h5><?php the_title();?></h5>
<div class="taxonomy clearfix">
<div class="price categories">
<strong>Price:</strong>
<?php the_field('price');?>
</div>
<div class="tags">
<strong>Color:</strong> <?php the_field('color');?><br>
<strong>Size:</strong> <?php the_field('size');?>
</div>
</div>
</div>
<?php endwhile;
wp_reset_query();?>
</div>
<?php get_footer();?>