这看起来不错,我有非常类似的代码,可以按预期工作:
function price_query_test() {
update_post_meta( 7, \'_price\', 10 );
update_post_meta( 12, \'_price\', 20 );
update_post_meta( 18, \'_price\', 30 );
update_post_meta( 72, \'_price\', 40 );
$test = new WP_Query( array(
\'post_type\' => \'page\',
\'meta_query\' => array( array(
\'key\' => \'_price\',
\'value\' => array( \'10\', \'25\' ),
\'compare\' => \'BETWEEN\',
) ),
\'fields\' => \'ids\',
) );
printf( \'<pre>%s</pre>\', print_r( $test->posts, 1 ) );
die();
}
add_action( \'init\', \'price_query_test\' );
上面给出了一个数组:
Array
(
[0] => 12
[1] => 7
)
如果我们想,我们还可以添加
meta_query
a类型:
\'meta_query\' => array( array(
\'key\' => \'_price\',
\'value\' => array( \'10\', \'25\' ),
\'compare\' => \'BETWEEN\',
\'type\' => \'NUMERIC\',
) )
但如果没有
meta_type
.
如果您使用的是WooCommerce,请注意它们的元值是_price
和not price
.