J'ai un type de message personnalisé appelé livres. La date de publication des livres est comprise entre 1700 et 1900.
Je veux définir la date de publication à ces dates (afin que je puisse interroger les résultats triés par année) mais je ne semble pas avoir de date définie avant le 1er janvier 1970.
Est-il possible de faire cela d'une manière ou d'une autre?
custom-post-types
date
passatgt
la source
la source
post_date
base de données se règle correctement à n'importe quelle date que j'ai essayée. Cependant, ilpost_date_gmt
est incorrectement défini comme le 1er janvier 1970 - le début du monde . N'essayez donc pas de coopter ce domaine. Faites ce que toscho suggère.Réponses:
N'utilisez le
post_date
champ pour rien pour quoi il n'est pas fait. Utilisez plutôt un post-méta-champ. Lepost_date
est lié àpost_date_gmt
, vous obtiendriez un effet secondaire étrange, même si vous pouviez obtenir une date antérieure à ce sujet.Créez donc des champs post-méta et interrogez-les par requête fiscale . Ignorez le champ par défaut.
En réponse à votre commentaire: N'utilisez pas de taxonomie.
J'ai aussi lancé un plugin de gestionnaire de livres, malheureusement, il est encore à l'état de projet… mais j'ai quelques recommandations concernant les dates:
Utilisez deux types de publication: un pour l'opus, un pour les éditions réelles (le
opus
type serait un parent pour plusieurs éditions). Ainsi, vous pouvez stocker la date de création dans l'opus, la date de publication (la langue, l'éditeur, le traducteur, etc.) dans l'édition.Lisez Rendre
<time>
les historiens plus sûrs . Les dates avant 1970 sont difficiles.Les fonctions de date et d'heure MySQL ne peuvent pas gérer tous les cas, vous vous retrouvez avec des routines personnalisées pour le tri, selon votre solution pour (2.).
la source
Ce plugin utilise la bibliothèque de dates ADOdb de John Lim de PHP Everywhere, qui est - je cite - "faisant du formatage de date avec des dates antérieures à 1970 un charme".
la source