自定义字段多个逗号分隔值

时间:2018-11-14 作者:Siddharth

这段代码运行良好,但当我在自定义字段value中添加多个逗号分隔的值时,它就不起作用了。(示例:-演示,演示二)

$meta_query = array(\'relation\' => \'AND\');
if ($Style_Cabinet_Style)
 {
    $meta_query[] =  array(
        \'meta_key\' => \'Cabinet_Style\',
        \'value\' => $Style_Cabinet_Style,
        \'compare\' => \'IN\'
        );



$query = new WP_Query(
array( 
    \'post_type\' => \'gallery\',
    \'meta_query\' => $meta_query,
)
);

1 个回复
SO网友:Jacob Peattie

这是不应该的。如果要在中使用多个值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 );
Thearray_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,
        )
    );
}

结束

相关推荐

如何让`wp-list-table`显示我在Custom-Post中的`Custom-Fields`

一切都好吗<我需要wp-list-table 也要显示custom-fields 在每个custom-post 我有,但我不知道如何做到这一点,在这幅图中,它显示了带有字段的表格:Title, Author and Publication Date: 我想要的是能够选择custom-fields 将出现,例如以下示例Title, Carta, Naipe, Author, and Date of Publication: