Php 仅搜索产品标题-WooCommerce

Php 仅搜索产品标题-WooCommerce,php,wordpress,search,woocommerce,Php,Wordpress,Search,Woocommerce,我有一个搜索功能,目前搜索产品等使用产品文本和一切。我希望它只搜索产品名称。我已经使用了这个代码,它已经运行了很多年,但现在不再使用了。现在我得到一个错误。为什么? functions.php中使用的代码 <?php // Search titles only function __search_by_title_only( $search, &$wp_query ) { global $wpdb; if(empty($search)) { ret

我有一个搜索功能,目前搜索产品等使用产品文本和一切。我希望它只搜索产品名称。我已经使用了这个代码,它已经运行了很多年,但现在不再使用了。现在我得到一个错误。为什么?

functions.php中使用的代码

<?php
// Search titles only 
function __search_by_title_only( $search, &$wp_query )
{
    global $wpdb;
    if(empty($search)) {
        return $search; // skip processing - no search term in query
    }
    $q = $wp_query->query_vars;
    $n = !empty($q['exact']) ? '' : '%';
    $search =
    $searchand = '';
    foreach ((array)$q['search_terms'] as $term) {
        $term = esc_sql($wpdb->esc_like($term));
        $search .= "{$searchand}($wpdb->posts.post_title LIKE '{$n}{$term}{$n}')";
        $searchand = ' AND ';
    }
    if (!empty($search)) {
        $search = " AND ({$search}) ";
        if (!is_user_logged_in())
            $search .= " AND ($wpdb->posts.post_password = '') ";
    }
    return $search;
}
add_filter('posts_search', '__search_by_title_only', 500, 2);

功能只按标题搜索($search,&$wp\u query)

第二个参数以&&$wp\u query)开头,这意味着它希望引用变量作为参数

posts\u search
过滤器传递
WP\u Query$this
对象。所以只需删除参数中的
&

例如:


功能只按标题搜索($search,$wp\u query)
功能只按标题搜索($search,$wp\u query)

第二个参数以&&$wp\u query)开头,这意味着它希望引用变量作为参数

posts\u search
过滤器传递
WP\u Query$this
对象。所以只需删除参数中的
&

例如:


function\uu仅按标题搜索($search,$wp\u query)

@eMikkelsen只需删除函数参数中的&symbol并重试。@eMikkelsen只需删除函数参数中的&symbol并重试。