আমি মনে করি আপনি এখন যা করার চেষ্টা করছেন তা আমি বুঝতে পেরেছি। আপনি যখন কোনও কাস্টম ক্যোয়ারী WP_Query
চালিয়েছেন এবং প্রতি পৃষ্ঠায় মাত্র ৫ টি পোস্ট পাওয়ার সীমা নির্ধারণ করবেন, তখন কেবল 5 টি পোস্টটি ক্যোয়ারী দ্বারা পুনরুদ্ধার করা হবে এবং সেই প্রশ্নের মধ্যে কেবল 5 টি পোস্ট থাকবে, তবে পৃষ্ঠাগুলির খাতিরে , কিন্তুWP_Query
এখনও পুরো ডাটাবেসের মাধ্যমে চলবে এবং ক্যোয়ারীর মানদণ্ডের সাথে মেলে এমন সমস্ত পোস্ট গণনা করে।
আপনি যখন ক্যোয়ারীর বৈশিষ্ট্য $found_posts
এবং $max_num_pages
বৈশিষ্ট্যগুলি দেখেন তখন এটি দেখা যায় । একটি উদাহরণ নেওয়া যাক:
আপনার ডিফল্ট পোস্ট ধরণের সাথে সম্পর্কিত 20 টি পোস্ট রয়েছে post
। পৃষ্ঠাগুলি ছাড়াই আপনার কেবল সর্বশেষ 5 টি পোস্ট দরকার। আপনার ক্যোয়ারীটি এমন দেখাচ্ছে
$q = new WP_Query( 'posts_per_page=5' );
var_dump( $q->posts )
প্রত্যাশা অনুযায়ী সর্বশেষ 5 টি পোস্ট দেবে
echo $q->found_posts
তোমাকে দিবে 20
echo $q->max_num_pages
তোমাকে দিবে 4
এই অতিরিক্ত কাজের প্রভাব কেবলমাত্র কয়েকটি পোস্ট সহ সাইটগুলিতে ন্যূনতম, তবে আপনি শত বা হাজার হাজার পোস্ট সহ কোনও সাইট চালাচ্ছেন তবে এটি ব্যয়বহুল হতে পারে। আপনার যদি সর্বদা 5 টি সর্বশেষ পোস্টের প্রয়োজন হয় তবে এটি সম্পদের অপচয় waste
এমন একটি অননুমোদিত প্যারামিটার বলা হয়েছে no_found_rows
যা বুলিয়ান মান ব্যবহার করে যা আপনার প্রয়োজনীয় ৫ টি পোস্ট সন্ধানের পরে আপনি আপনার ক্যোয়ারী জামিনে ব্যবহার করতে পারেন। এটি WP_Query
কোয়েড করা পোস্টগুলির পরিমাণ পুনরুদ্ধার করার পরে মানদণ্ডের সাথে সম্পর্কিত আর কোনও পোস্ট সন্ধান করতে বাধ্য করবে । এই পরামিতির ইতিমধ্যে মধ্যে গড়ে তুলতে হয় get_posts
, তাই সে জন্যই get_posts
একটু চেয়ে দ্রুত WP_Query
যদিও get_posts
ব্যবহারসমূহWP_Query
উপসংহার
উপসংহারে, আপনি যদি কোনও প্রশ্নের উপর পৃষ্ঠাগুলি ব্যবহার করতে যাচ্ছেন না, আপনার গতিপথটি 'no_found_rows=true'
জিনিসগুলিকে গতিময় করা এবং নষ্ট হওয়া সংস্থানগুলিকে বাঁচানো সর্বদা বুদ্ধিমানের কাজ ।
'posts_per_page=5'