我有以下基于常规 WordPress 自定义字段名称的 GET 函数。勾选后,它将对该自定义字段值设置为 1 的所有帖子进行排序。它当前有效。但是,我碰巧有两个名为“free”和“twofree”的自定义字段
当我勾选“免费”时,它还包括“twofree”,反之亦然。它似乎不区分大小写。有什么解决方法吗?
<?php
/* my code starts from here*/
if( isset( $_GET['show'] ) && !empty ( $_GET['show'] ) ){
if( $_GET['show'] == 1 )
$meta_field = 'free';
else if( $_GET['show'] == 4 )
$meta_field = 'sale';
else if( $_GET['show'] == 2 )
$meta_field = 'genuine';
else if ( $_GET['show'] == 'onfire' )
$meta_field = 'onfire';
else if( $_GET['show'] == 5 )
$meta_field = 'twofree';
else if( $_GET['show'] == 3 )
$meta_field = 'onfire';
if( $_GET['show'] == 'sale' )
query_posts('cat='.$cat.'&meta_key='.$meta_field.'&meta_value > 0');
else
query_posts('cat='.$cat.'&meta_key='.$meta_field.'&meta_value>=1');
}
/* my code ends from here*/
?>
编辑:我发现了问题,它在于部分
query_posts('cat='.$cat.'&meta_key='.$meta_field.'&meta_value>=1');
我把它改成
query_posts('cat='.$cat.'&meta_key='.$meta_field.'&meta_value=1');