Sanırım şimdi ne yapmaya çalıştığını anladım. Eğer ile özel bir sorgu çalıştırdığınızda WP_Queryve sayfa başına sadece 5 mesajları almak için sınırı ayarlamak, sadece 5 mesaj sorgu tarafından alınır ve bu sorgunun sadece 5 mesajları yapacak, ANCAK pagination uğruna, WP_Queryhâlâ tüm veritabanı geçiyor ve sorgunun ölçütlerine uyan tüm gönderileri sayar.
Sorgu $found_postsve $max_num_pagesözellikleri baktığınızda görülebilir . Bir örnek verelim:
Varsayılan gönderi türüne ait 20 gönderiniz var post. Sen sadece pagination olmadan son 5 Mesajları gerekir. Sorgunuz buna benziyor
$q = new WP_Query( 'posts_per_page=5' );
var_dump( $q->posts ) beklendiği gibi size son 5 yazı verecek
echo $q->found_posts sana vereceğim 20
echo $q->max_num_pages sana vereceğim 4
Bu fazladan çalışmanın etkisi, yalnızca birkaç yayın içeren siteler üzerinde çok az olmakla birlikte, yüzlerce veya binlerce yayın içeren bir siteyi çalıştırıyorsanız, bu pahalı olabilir. Bu sadece en son 5 gönderiye ihtiyacınız olacaksa, bu bir kaynak israfıdır.
no_found_rowsİhtiyacınız olan 5 gönderiyi bulduktan sonra, kefaletinizi geri almak için kullanabileceğiniz boolean değerlerini kullanan belgelenmemiş bir parametre var . Bu, WP_Querysorgulanan gönderilerin miktarını aldıktan sonra ölçütlere uyan başka gönderiler aramaya zorlayacaktır. Zaten içine inşa edilir Bu parametre get_postsneden olduğu, get_postsbiraz daha hızlı daha WP_Queryrağmen get_postskullanımlarWP_Query
Sonuç
Sonuç olarak, bir sorguda sayfalandırma kullanmayacaksanız, 'no_found_rows=true'işleri hızlandırmak ve kaynak israfından tasarruf etmek her zaman sorgunuzda olacaktır.
'posts_per_page=5'