通常の WordPress カスタム フィールド名に基づく以下の GET 関数があります。チェックを入れると、そのカスタム フィールドの値が 1 に設定されているすべての投稿が並べ替えられます。現在は機能しています。しかし、'free' と 'twofree' という名前の 2 つのカスタム フィールドがあります。
「無料」にチェックマークを付けると、「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');