搜索以包含外部内容

时间:2020-06-08 作者:mp3duck

我对Wordpress和PHP基本上都是新手,主要从事过这方面的工作。NET CMS系统在过去,所以请与我赤裸裸。

因此,我们有一个Wordpress站点,它使用高级自定义字段和Polylang等插件,允许完全可翻译的基于字段的自定义块。

我们的一些区块可能会从共享源获取内容。。i、 e.我们将在一个位置维护一个治疗师列表(作为其自己的自定义内容/页面类型),在创建治疗时,我们选择相关治疗师,并在代码中加载治疗师的内容,并将其输出到页面上。

有人能建议我如何添加搜索以包含上述内容吗?

1 个回复
SO网友:Farhad

要通过高级自定义字段在帖子中搜索,请使用fallowing query:

$args = [
    \'post_type\'     => \'post\',
    \'meta_query\'    => [
        \'relation\'      => \'OR\',
        [
            \'key\'       => \'NAME_OF_ACF_FIELD\',
            \'compare\'   => \'like\',
            \'value\'     => \'%\'.$search_value.\'\',
        ]
    ]
];

$items = new WP_Query($args);

while($items->have_posts()) {
    $items->the_post();
    the_title();
}
这将输出与搜索查询匹配的标题。甚至可以将更多项目添加到meta_query 要一起搜索示例3字段的数组。

此外,您可以在执行之前使用WordPress过滤器挂钩修改查询这是一个在查询上修改where语句的示例

add_filter( \'posts_where\', \'my_posts_where\', 10, 2 );
function my_posts_where( $where, &$wp_query )
{
    global $wpdb;
    if ( $search_title= $wp_query->get( \'search_title\' ) ) {
        $where .= \' AND \' . $wpdb->posts . \'.post_title LIKE \\\'\' . esc_sql( $wpdb->esc_like( $search_title) ) . \'%\\\'\';
    }
    return $where;
}

相关推荐

Woocommerce budget search

我有woo commerce设置。现在的要求就像说,如果我搜索预算,比如说5000,它应该显示总价格为5000的产品(例如一个价格为3000的产品和一个2000奖的产品)。我们该怎么做,请帮忙。