Lọc dữ liệu bởi custom fields
Lọc theo giá trị một custom field.
$posts = get_posts(array(
'post_type' => 'event',
'posts_per_page' => -1,
//meta field & value
'meta_key' => 'location',
'meta_value' => 'melbourne'
));
if($posts)
{
foreach($posts as $post)
{
setup_postdata($post); #equal the_post()
// ...
}
}
|
So sánh giá trị meta field:
#other example
query_posts( array(
'post_type' => 'product',
'meta_key' => 'price',
'meta_value' => 100,
'meta_compare' => '>'
) );
|
Lấy dữ liệu posts có tồn tại meta field, nếu như bạn không biết giá trị chính xác của meta key đó.
#method 1
$args=array(
'meta_key'=>'field-name',
);
#method 2
$args = array(
'meta_query' => array(
array(
'key' => 'monthly_price',
'compare' => 'EXISTS'
)
)
);
|
Lọc nhiều custom fields. VÍ dụ:
$posts = get_posts(array(
'post_type' => 'event',
'posts_per_page' => -1,
'meta_query' => array(
'relation' => 'OR',
array(
'key' => 'location',
'value' => 'melbourne',
'compare' => '='
),
array(
'key' => 'location',
'value' => 'sydney',
'compare' => '='
)
)
));
if($posts)
{
foreach($posts as $post)
{
// ...
}
}
|
So sánh dạng between.
$date_1 = date('Ymd', strtotime("now"));
$date_2 = date('Ymd', strtotime("-2 weeks"));
$args = array(
'post_type' => 'event',
'posts_per_page' => -1,
'meta_query' => array(
array(
'key' => 'start_date',
'value' => array( $date_1, $date_2 ),
'type' => 'numeric',
'compare' => 'BETWEEN'
)
)
);
// query
$wp_query = new WP_Query( $args );
|
So sánh > <
<?php
// args
$args = array(
'numberposts' => -1,
'post_type' => 'event',
'meta_query' => array(
array(
'key' => 'images',
'value' => 0,
'type' => 'NUMERIC',
'compare' => '>'
)
)
);
|
Unregistered version