HUSKY - Products Filter Professional for WooCommerce

WOOF Filtreleme ile Sayfalama Çok Fazla Sayfa Gösteriyorsa Nasıl Düzeltilir

WOOF (HUSKY) ürün filtrelerini kullanırken WooCommerce sayfalama doğru sayfa numaralarını göstermiyorsa, bu kılavuz bunu düzeltecektir.

Sorun

Belirti: WOOF/HUSKY ile ürünleri filtrelerken, sayfalama mevcut olandan daha fazla sayfa gösteriyor.

Örnek:

  • Filtre 15 ürün gösteriyor (2 sayfa olmalıydı)
  • Sayfalama görüntülenir: 1, 2, 3, 4, 5… (5+ sayfa)
  • Sayfa 3+ tıklandığında boş sonuçlar veya “Ürün bulunamadı” gösterir

Ne oluyor: WooCommerce'in sayfa numaralandırması, filtrelenmiş sonuçlara değil, toplam ürün kataloğuna göre sayfa sayısını hesaplar. WOOF ürünleri filtreler, ancak sayfa numaralandırması buna göre güncellenmez.

Çözüm

Sayfalama işleminin WOOF'un filtrelenmiş sorgusundan doğru sayfa sayısını kullanmasını zorlamak için bu kodu ekleyin.

Adım 1: Kodu Ekle

Bunu ekleyin çocuk temanızın functions.php:

/**
 * Fix pagination page count when using WOOF filtering
 * Forces pagination to use correct max_num_pages from filtered query
 */
add_filter('woocommerce_pagination_args', function($args) {
    global $wp_query, $WOOF;
    
    // Check if WOOF filtering is active
    if ($WOOF->is_isset_in_request_data($WOOF->get_swoof_search_slug())) {
        // Force correct page count from HUSKY filtered query
        $args['total'] = $wp_query->max_num_pages;
    }
    
    return $args;
}, 999);

Öncelik 999: Diğer sayfalama değişikliklerinden sonra çalışmasını sağlar.

Adım 2: Önbelleği Temizle

  1. WordPress önbelleğini temizleyin (önbellek eklentisi kullanıyorsanız)
  2. Tarayıcı önbelleğini temizleyin (Ctrl+F5)
  3. Filtrelenmiş sonuçları test edin

Adım 3: Doğrulayın

  1. Herhangi bir WOOF filtresini uygula (kategori, fiyat, öznitelikler)
  2. Sayfanın altındaki sayfalama özelliğini kontrol edin
  3. Sayfa numaraları artık gerçek filtrelenmiş sonuçlarla eşleşmeli

Düzeltmeden Önce:

Showing 12 products Pages: 1 2 3 4 5 6 7 8 (wrong!)

Düzeltme sonrası:

Showing 12 products Pages: 1 2 (correct!)

Nasıl Çalışır

if ($WOOF->is_isset_in_request_data($WOOF->get_swoof_search_slug())) {

Bunun yaptığı: URL'deki WOOF'un arama parametresini arayarak WOOF filtrelemesinin şu anda aktif olup olmadığını kontrol eder.

$args['total'] = $wp_query->max_num_pages;

Bunun yaptığı: WooCommerce'in sayfalama toplamını, filtrelenmiş WordPress sorgusundan gerçek sayfa sayısı ile geçersiz kılar.

Neden öncelik 999? Bazı temalar veya eklentiler sayfalama işlemini değiştirir. Öncelik 999, bu kodun en son çalışmasını ve önceliğe sahip olmasını sağlar.

 

Sorun Giderme

Sayfalama Hâlâ Yanlış

Sorun: Kod eklendikten sonra sayfa sayısı hala yanlış

Olası nedenler:

  1. Çocuk temasında olmayan kod
    • Çocuktaki temanın functions.php'sini düzenlediğinizden emin olun
    • Tema güncellemeleri, alt temada değilse kodu silecektir.
  2. Önbellek temizlenmedi
    • WordPress önbellek eklentisini temizle
    • Sunucu önbelleğini temizleyin (hosting paneli)
    • Gizli modda test edin
  3. Tema sayfalama geçersiz kılma
    • Bazı temalar özel sayfalama işlevleri kullanır
    • Önceliği 9999'a yükseltmeyi deneyin
    • Tema belgelerini kontrol edin

Çözüm: Tema çakışmaları durumunda önceliği artırın:

add_filter('woocommerce_pagination_args', function($args) {
    // ... code ...
}, 9999); // Higher priority

 

Bu Düzeltme Ne Zaman Gereklidir

Bu düzeltmeye ihtiyacınız varsa:

  • ✅ Ürün filtrelemesi için WOOF/HUSKY kullanma
  • ✅ Sayfalama mevcut olandan daha fazla sayfa gösteriyor
  • ✅ Yüksek sayfa numaralarına tıklamak ürün göstermiyor
  • ✅ Filtrelenmiş sonuç sayısı pagination ile eşleşmiyor