kullanarak /WooCommerce web sitesindeki ürünleri aramak için this code kullanıyorum.
Benim istek URL "http://localhost/wp/?s=D34&post_type=product" olacak iken s=D34
arama dizesi iken.Belirli bir post_type form post_type sütunu aramada hata WooCommerce ürün araması
Kullanıcı bir dizeyi aradığında. Veriler, Tüm varsayılan alanlardan + ürünümüzün custom filed
'dan aranacaktır. url ile birleştirilmiş http://localhost/wp/?s=D34 ancak ince aşağıda kod çalışması o zaman
Kod
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');
Bu farklı değerleri
function cf_search_distinct($where) {
global $wpdb;
if (is_search()) {
return "DISTINCT"; //to prevent duplicates
}
return $where;
}
add_filter('posts_distinct', 'cf_search_distinct');
önlemektir aşağıda verilmiştir demek Peki ne tür bir değişiklik gerekli?
URL
http://localhost/wp/?orderby=price&post_type=product eser ince
ama ne http://localhost/wp/?s=D34&post_type=product
Sadece merak ediyorum (çünkü bu benim başıma geldi); Sayfanızda arama alanınızın bulunduğu geçici bir yere bir widget veya herhangi bir woocommerce widget'ını (kategoriler gibi) eklemeyi ve sonra ikinci dizenizi ('s = d34' ile) aramayı deneyin. Ben woocommerce için ayrıntılı bir arama yapmak istedim ve sadece arama alanı ile sayfada mevcut bazı woocommerce widget'ları vardı çalıştı. Bu bir woocommerce sorunu olabilir ... –
Sadece burada önerebilir, verilen URL'yi kullanmayı deneyebilirsiniz, sorunlarınız, URL kodları ile ilgili olabilir D34, http: // localhost/wp /? Post_type = product & s = D34, Aşağıdaki soruya cevabını yazarak sorunun cevabını verebilir – Abhishek
@dingo_d Ben de woo-ticaret meselesini düşünüyorum, ya da post_type = 'ürün' eklendiğinde, resimdeki gibi görebileceğiniz gibi belirli bir klasörde aramaya başladığında olabilir./Shop/", önerdiğin şeyi deneyeceğim. –