这真让我困惑。希望你能帮助我。我想做的是搜索一个数字,并显示搜索结果中负1或正1的任何内容。它将搜索的数字将有小数,例如12.5。所以如果我搜索12.5,它应该显示11.5,11.6,一直到13.5。我已经完成了搜索部分,只是显示帖子是我的问题。到目前为止,我掌握的代码是:
<?php
$search_query = get_search_query();
$searchplusone = ++$search_query ;
$search_query1 = get_search_query();
$searchnegone = --$search_query1 ;
$args = (array(
\'post_type\' => \'product\',
\'numberposts\' => -1,
\'meta_query\' => array(
array(
\'value\' => array( $searchnegone, $searchplusone),
\'key\' => \'kilowatt\',
\'type\' => \'decimal\',
\'compare\' => \'BETWEEN\',
)),
) );
$the_query = new WP_Query( $args );
?>
<?php echo $search_query; echo $searchnegone; echo $searchplusone;
print_r ($args);
?>
<?php if( $the_query->have_posts() ): ?>
<ul>
<?php while ( $the_query->have_posts() ) : $the_query->the_post(); ?>
<li>
<a href="<?php the_permalink(); ?>"><?php the_title(); ?></a>
</li>
<?php endwhile; ?>
</ul>
<?php endif; ?>
<?php wp_reset_query();
?>
当您搜索12.5时,它似乎是有效的,但当您搜索11.5甚至11.9时,它不会显示帖子,但如果您搜索14,它将显示具有12.5值的帖子,尽管这不是故意的,因为它应该比较和显示13和15之间的帖子。但是,它应该显示11.9,因为它在12.5的范围内。
编辑:经过进一步调查,我发现如果帖子中的数字设置为20,然后搜索19.1、19.2等,它将显示正确的帖子。这似乎只是当帖子的数字集是十进制时,它会导致问题。