这是不应该的。如果要在中使用多个值IN
需要传递的元查询Array. 看起来是这样的:
$Style_Cabinet_Style = array( \'Demo\', \'Demo Two\' );
如果您只有一个用逗号分隔值的字符串,例如。
\'Demo, Demo Two\'
. 然后您可以使用
explode()
要使用逗号将值拆分为数组,请执行以下操作:
$Style_Cabinet_Style = \'Demo, Demo Two\'; // Assuming
$values = explode( \',\', $Style_Cabinet_Style );
$values = array_map( \'trim\', $values );
The
array_map()
生产线正在运行
trim()
对数组中的所有值执行函数。这将删除值开头和结尾的空格。这可以确保逗号之间的任何空格,例如。
\'One, Two, Three\'
在拆分为数组后将被删除,否则会导致:
$values = array( \'Demo\', \' Demo Two\' );
完成后,可以将值传递给元查询:
$meta_query = array( \'relation\' => \'AND\' );
if ( $Style_Cabinet_Style ) {
$values = explode( \',\', $Style_Cabinet_Style );
$values = array_map( \'trim\', $values );
$meta_query[] = array(
\'meta_key\' => \'Cabinet_Style\',
\'value\' => $values,
\'compare\' => \'IN\'
);
$query = new WP_Query(
array(
\'post_type\' => \'gallery\',
\'meta_query\' => $meta_query,
)
);
}