I want to make a weblog that has with every date 1 or more weblog posts, e.g.:
Januari 24 Year 41 : Roman Emperor Caligula was murdered by Cassius Chaerea and the disgruntled Praetorian Guards. Caligula’s uncle Claudius was proclaimed emperor in his place.
or
Januari 1 Year 153 BC : Roman consuls begin their year in office.
or
Februari 1 Year 2038 : Humans survived
What would be the best way to do this in WordPress if I want to support URL hacking?
p.s. custom fields + custom posts + custom taxonomy was the first thing I thought of but maybe there are better alternatives relying on the current date system.
related: http://en.wikipedia.org/wiki/Unix_time#Representing_the_number
Unix time is defined as the amount of seconds since the “Unix epoch,” which is 00:00:00 UTC on 1 January 1970.
It works both forwards and backwards — so technically you shouldn’t have trouble representing dates all the way back to Jan. 1, year 1, but the numbers would be negative and extremely large.
EDIT: PHP appears not to be able to handle those dates easily, at least according to one basic test. Both
echo $time = strtotime("January 1, 1");
andecho $time = strtotime("January 1, 0001");
result in978325200
.I think the best option is, as you muse, categories. Whether or not you want to deal with custom categories might be a matter of preference, but I suspect normal categories with the names you lay out would work just fine.
Not sure about WordPress specifics on processing date when saving post, but it stores post’s date in database under
datetime
type, which according to MySQL The DATETIME, DATE, and TIMESTAMP Types only has range of 1000-01-01 00:00:00 to 9999-12-31 23:59:59 and so won’t go back as far as you want.So it is definitely better to store date separately (custom field makes sense) as string or timestamp.
Also
strtotime()
is usually awesome, but has limitations of its own:Overall I suspect that for such extreme dates you will need to write your own code or find some ready-made by third party.