問題描述
我有一個叫做書籍的自定義帖子型別。書籍出版日期從 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 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇。