Wordpress 元查询不适用于十进制类型

Ami*_*min 3 wordpress

我正在尝试编写一个 wordpress 自定义查询 ( WP_Query),它按评级限制过滤帖子。这个评分是一个介于 0 和 10 之间的数字,它也可能是浮点数(例如 6.8),我试过这段代码,但它不起作用:(

<?php
$ratings = array( 4, 7 ); // this is an example , ratings are dynamic

$args = array(
    'post_type'  => 'product',
    'showposts'  => -1,
    'meta_query' => array(
        array(
            'key'     => 'aps-product-rating-total', // floating number
            'value'   => $ratings,
            'type'    => 'DECIMAL',
            'compare' => 'BETWEEN'
        )
    );
);

$filter_result = new WP_Query( $args );
?>
Run Code Online (Sandbox Code Playgroud)

小智 5

答案很简单 - 删除 'type' 属性,搜索将尊重您的小数。我通过按照 m.cichacz 的建议输出查询来了解这一点。您可以看到,当指定 NUMERIC 或 DECIMAL 时,字段上存在类型转换,但由于某种原因,这会导致查询忽略小数位后的任何内容。删除类型转换,它的工作原理。