带有META_QUERY的ACF中继器字段

时间:2020-01-17 作者:kelvin ramirez

如何将repeater字段用于meta\\u查询我有一个只包含一些文本值的repeater字段,并且有一个表单,可以将变量发送到一个页面,在那里我获取值并存储一个值,该值是meta\\u查询中的值,我想获取在repeater字段中具有特定字符串的所有CPT,例如:

if(isset($_GET[\'tecnology\'])){
$tech = $_GET[\'tecnology\'];
echo $tech;
}

if(isset($_GET[\'category\'])){
    $cat = $_GET[\'category\'];
    echo $cat;
}

if(isset($_GET[\'start\'])){
    $star_point = $_GET[\'start\'];
    echo $star_point;
}

$args = array(
    \'post_type\' => \'project\',
    \'posts_per_page\' => -1,
    \'orderby\' => \'post_date\',
    \'meta_query\' => array(

        array(

            \'key\' => \'tecnologies\',
            \'value\' => $tech,
            \'compare\' => \'LIKE\'
        ),
        array(
            \'key\' => \'category_project\',
            \'value\' => $cat,
            \'compare\' => \'LIKE\'
        ),
        array(
            \'key\' => \'route\', //this is the repeater field
            \'value\' => $star_point, // this is the string I want to know if it´s in the repeater field
            \'compare\' => \'LIKE\'
        )
    )
    );
  $loop_servicios = new WP_Query( $args ); 
?>

1 个回复
SO网友:WebElaine

我认为这是不可能的。ACF将转发器数据存储在单独的Posteta字段中(转发器中的每个字段对应一个数据库行),因此您必须查询多个字段,除非您总是有相同数量的转发器字段,否则您甚至不知道要查询多少个字段。

听起来,通过定制分类法,您最好对数据进行更严格的结构化。分类查询也比元查询快得多,所以性能会更好。

相关推荐