Search results for ACF data

时间:2020-06-28 作者:Kevin

是否可以编写查询以仅从一个自定义字段中搜索数据?我有一个名为“讲座”的CPT,我只想搜索名为“关键字”的自定义字段中的数据,我有:

<?php
        $args = array(
            \'post_type\' => \'lectures\',
            \'order\' => \'ASC\',
            \'posts_per_page\' => -1,
            \'meta_key\' => \'keywords\'
            
        );
        $query = new WP_Query($args);
        while ( $query -> have_posts()) : $query -> the_post();

    ?>
但它不起作用。因此,如果有人搜索“操作性条件反射”(关键字ACF中的一个术语)。我想在结果中显示任何带有这些“关键字”(来自ACF)的CPT。我无法添加特定关键字,因为将有数百个

1 个回复
SO网友:Kevin

这对我很有用:

<?php
 if($_GET[\'module_search\'] && !empty($_GET[\'module_search\']))
     $keywords = $_GET[\'module_search\'];
?>

<!-- Set args for search of cpt -->
            <?php
                $args = array(
                    \'post_type\' => \'lectures\',
                    \'order\' => \'ASC\',
                    \'posts_per_page\' => -1,
                    \'meta_query\' => array(
                      \'relation\' => \'OR\',
                         array( 
                         \'key\' => \'keywords\', // name of custom field
                         \'value\' => \'[[:<:]]\'.$keywords.\'[[:>:]]\', // matches exaclty "123", not just 123. This prevents a match for "1234"
                         \'compare\' => \'REGEXP\'
        )
    )
                    
                );
                $query = new WP_Query($args);?>```

相关推荐

如何在GET_POSTS()函数中通过某个页面的插件及其所有子页面获取页面ID数组?

我的主题中有一个自定义函数,可以创建动态sitemap.xml 文件我用的是$myVar = get_posts( array(...) ). 在该数组中,我需要排除一些页面。我想排除某些父页面及其所有子页面。我只想使用父页面slug来获取父页面和子页面的所有ID的数组。问题是:\'exclude\' => 在array() 仅接受ID数组。不是鼻涕虫。如何通过某种函数(或其他方式)通过父页面slug返回ID数组(包括父ID及其所有子项)来实现它?例如,假设父页面slug是abc.谢谢你了。