আমি একটি অদ্ভুত বিষয় জুড়ে এসেছি।
বলুন যে আপনি একটি এলোমেলো url অ্যাক্সেস করুন, তিন বা ততোধিক স্তর আরও গভীর:
http://example.com/a/b/c
http://example.com/a/b/c/d
...
তারপর is_404()
হয় true
। এ পর্যন্ত সব ঠিকই. তবে কোনও কারণে শেষ পোস্টগুলি অনুসন্ধান করা হয়।
$wp_query->request
হয়
SELECT SQL_CALC_FOUND_ROWS wp_posts.ID
FROM wp_posts
WHERE 1=1
AND wp_posts.post_type = 'post'
AND (
wp_posts.post_status = 'publish'
OR wp_posts.post_status = 'private'
)
ORDER BY wp_posts.post_date DESC
LIMIT 0, 5
যা তবে অবশ্যই have_posts()
ফিরে আসে true
এবং আরও অনেক কিছু। কেউ এই ব্যাখ্যা করতে পারেন?
আমি এ পর্যন্ত যা জানতে পেরেছি:
কেবলমাত্র তিন বা ততোধিক মাত্রায় গভীরভাবে লাথি মারার কারণটি হ'ল এর আগে ডাব্লুপি পোস্ট এবং সংযুক্তিগুলি সন্ধান করে যা কোনও না কোনওভাবে অন্য আচরণের ফলস্বরূপ।
দেখে মনে হয় যদিও ডাব্লুপিপি অনুরোধটিকে একটি সময়ে 404 হিসাবে স্বীকৃতি দেয় তবে এটি সর্বাধিক সাম্প্রতিক পোস্টগুলি নিয়ে আসে। থেকে সাহায্যে @kaiser এবং @GM আমি থেকে কোথাও এই নিচে ট্র্যাক করে থাকেন /wp-includes/class-wp.php:608