当前位置:  开发笔记 > 编程语言 > 正文

使用WooCommerce产品搜索搜索特定的post_type表单post_type列时出错

如何解决《使用WooCommerce产品搜索搜索特定的post_type表单post_type列时出错》经验,为你挑选了0个好方法。

我正在使用此代码从Wordpress/WooCommerce网站搜索产品.
我的要求是URL将像" http:// localhost/wp /?s = D34&post_type = product "同时s=D34是搜索字符串.

当用户搜索字符串时.将从所有默认字段+产品中搜索数据custom filed.下面的代码可以正常使用http:// localhost/wp /?s = D34但是当&post_type=product它与url连接时它会说在此输入图像描述

代码如下

function cf_search_where( $where ) {
global $pagenow, $wpdb;


    if ( is_search() ) {
$where = preg_replace("/\(\s*".$wpdb->posts.".post_title\s+LIKE\s*(\'[^\']+\')\s*\)/",
            "(".$wpdb->posts.".post_title LIKE $1) OR (".$wpdb->postmeta.".meta_value LIKE $1)", $where );
        $where .= " AND ($wpdb->posts.post_type = 'product') ";
    }

    return $where;
}
add_filter( 'posts_where', 'cf_search_where' );

这是为了防止不同的值

  function cf_search_distinct( $where ) {
        global $wpdb;
if ( is_search() ) {
    return "DISTINCT"; //to prevent duplicates
}

return $where;

}
add_filter( 'posts_distinct', 'cf_search_distinct' );

那么需要进行哪些修改?

URL http:// localhost/wp /?orderby = price&post_type =产品正常工作

但是http:// localhost/wp /?s = D34&post_type = product有什么问题

推荐阅读
小妖694_807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有