Garip bir sorunla karşılaştım.
Üç veya daha fazla düzeyden oluşan rastgele bir URL'ye eriştiğinizi varsayalım:
http://example.com/a/b/c
http://example.com/a/b/c/d
...
Sonra is_404()
ise true
. Çok uzak çok iyi. Ancak bazı nedenlerden dolayı son gönderiler sorgulanır.
$wp_query->request
dır-dir
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
Hangi tabii ki have_posts()
dönüş yapar true
vb. Birisi bunu açıklayabilir mi?
Şimdiye kadar ne buldum:
Sadece üç veya daha fazla seviyede derinlemesine çalışmasının nedeni, WP'nin bir şekilde başka bir davranışla sonuçlanan gönderileri ve ekleri aramasıdır.
WP, talebi bir noktada 404 olarak kabul etmesine rağmen, en son yayınları getiriyor. Yardımıyla @kaiser ve @GM I'den bir yere bu aşağı izledik /wp-includes/class-wp.php:608