WordPress>

1 Cevap php

Ben site sahibi "Son Mesajlar" menüsünde gösterilecek mesaj sayısını ($ maxPosts) ayarlamanızı sağlar Benim tema bir ayarı vardır. (Son Mesajlar Widget benim css için gereken geçerli sayfa, vurgulamak değil çünkü) son mesajları oluşturmak için özel bir komut dosyası kullanıyorum.

Benim menü de sonrası listenin altında "Tüm" bağlantısını göstermek üzere ayarlanmış, ancak gerçek mesaj sayınız yalnızca> $ maxposts edilir

Ben sonrası sayısını alma ve bir "Görüntüle" bağlantısını göstermek için olup olmadığını belirlemek için $ maxposts karşılaştırarak için en iyi yöntem çalışmak için çalışıyorum.

Ben daha iyi bir yolu muhtemelen vardır eminim, ama burada benim kod. Ben çok büyük yazılan sayımlarını desteklemek için optimize etmek arıyorum ...

$cat=get_cat_ID('excludeFromRecentPosts'); 
$catHidden=get_cat_ID('hidden');
$myquery = new WP_Query();
$myquery->query(array(
    'cat' => "-$cat,-$catHidden",
    'post_not_in' => get_option('sticky_posts')
));
$myrecentpostscount = $myquery->found_posts;
if ($myrecentpostscount > 0) 
{
//show the menu

if ($myrecentpostscount > $maxPosts)
{
//show "View All" link
}
}

Ben gerçekten sadece sorgudan sonrası toplam sayısı "Tüm" bağlantısını göstermek belirlemek amacıyla maxPost ayarından daha büyük olup olmadığını belirlemek gerekir, bu yüzden komut durum için hesap optimize etmek için çalışıyorum ne zaman orada kriterlere uyan mesajların binlerce olabilir.

Ve bu durumda, performans sorunları önlemek için, ben hepsini bir sayımını almak gerekmez. Ben sadece + 1 maxPosts noktasına kadar saymak gerekir ve kullanıcı maxPosts = yapmak için -1 hepsi Mesajları göstermek istediğiniz anlamına gelir seçerler çünkü ben biraz mücadele ediyorum orası. Ama bu pratik olacaktır, bu yüzden muhtemelen 20 bir üst sınırı ayarlamak ne zaman maxPosts = -1

1 Cevap

Ben bu sorgu sonucunda oluşturulan alır gerçek SQL deyimi içine bakarak tavsiye ederim; optimize etmek için bir şey varsa o zaman görebilirsiniz. "Sızdıran soyutlamalar Kanunu" hala geçerlidir ..