問題描述
我有一個叫做書籍的自定義帖子類型。書籍出版日期從 1700 年到 1900 年。
我想將發佈日期設置為這些日期 (所以我可以查詢按年份排序的結果),但我似乎沒有在 1970 年 1 月 1 日之前設置日期。
有可能以某種方式做到這一點嗎?
最佳解決方案
不要將 post_date 字段用於不作為的任何東西。改用後期字段。 post_date 必須與 post_date_gmt 一起使用,即使您可以獲得較早的日期,也會產生奇怪的副作用。
因此,創建後期元字段並查詢每個 tax query 。忽略默認字段。
回答你的評論:不要使用分類。
-
構建分類法以允許每個帖子多個術語 (在此忽略 post-formats) 。該方案與您的用例不符。
-
分類查詢是昂貴的,它們通過三個表來運行。
-
您將不得不更改默認界面以防止多次分配等事故。可能,但不完全簡單,也許不是 forward-compatible 。
我也開始一個圖書管理器插件,不幸的是它仍然處於草案狀態… 但是我有一些關於日期的建議:
-
使用兩個帖子類型:一個用於 opus,一個用於實際版本 (
opus類型將是多個版本的父級) 。因此,您可以將創作日期存儲在版本中,出版日期 (語言,編輯器,翻譯器等) 。 -
閲讀使
<time>為歷史學家安全。 1970 年以前的日子很辛苦。 -
MySQL Date and Time Functions 無法處理所有情況,您最終可以使用一些用於排序的自定義例程,具體取決於 (2.) 的解決方案。
參考文獻
注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。