我努力處理一些對我來說似乎是來自Wordpress的邏輯缺陷,但是不管它是否是,我需要一個解決方案。 我不得不修改我當前的設置,並將幾乎所有查詢都改爲包含兩個帖子類型,而不是僅包含一個。Wordpress is_home()函數返回多個post-type查詢的假陽性
現在我的查詢工作正常,但缺少很多功能,因爲is_home()在我的歸檔頁面上返回1而不是0。 根據其文檔,功能應該只有1我的博客頁面
* If a static page is set for the front page of the site, this function will return true only
* on the page you set as the "Posts page".
上作爲事實上,它返回true
雖然我比我的「文章頁面」不同的檔案(這是博客) 。如果該存檔的查詢只保存一個post_type,則is_home()
返回0.如果我向查詢添加另一個帖子類型(這對我來說是必需的)is_home()
返回true
。
問題出在Wordpress核心的query.php
文件中。 is_home()
如果查詢對象中的is_archive
是false
,則返回true。但在我的情況下,is_archive
應該是真的(它不是)。如果is_post_type_archive
爲真(它不是),則is_archive
將爲真。
而這就是問題所在規定: is_post_type_archive
僅由WordPress如果
1)post_type不是陣列設置爲true,以及用於has_archive
2)post_type對象值從查詢是true
這兩個條件都不適用於我,因爲1)post_type是一個數組,因此我期望2)post類型數組沒有一個post類型的對象,因此has_archive不能爲true。
長話短說:我有一個來自不同post_types的帖子的存檔頁面,它可以工作,但這些項目不是我的博客頁面,因此根據文檔,is_home應該仍然是錯誤的。
兩個問題:1)這是is_home()的預期行爲嗎?和2)是否有另一個函數可以替代函數,並可以與我的多後期類型查詢一起工作? (如果沒有,關於如何實現這一點的任何建議?)
在此先感謝您的想法。