This is a cosmetic tweak only, meaning WordPress, your database and system in general will not recognize the 5 digit year as a valid year. This is fine however. With this tweak we get it where it counts; Your URLS will cite 5 digit years and your template can be adjusted to also display them. It displays where your users will see it and that will get them thinking.
-
Go to your WordPress admin panel. Under Settings -> Permalinks select
Custom Structure
and add your padded zero:/0%year%/%monthnum%/%day%/%postname%/
-
Since your URL structure just changed, add rewrites for URLs citing 4 digit years (legacy support). Under Nginx add:
rewrite "^/([0-9]{4})/$" /0$1/ permanent; rewrite "^/([0-9]{4})/([0-9]{2})/$" /0$1/$2/ permanent; rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/$" /0$1/$2/$3/ permanent; rewrite "^/([0-9]{4})/([0-9]{2})/([0-9]{2})/([\w-]+)/$" /0$1/$2/$3/$4/ permanent;
-
Now URLS and links will cite the padded zero but your page templates will still display 4 digit years. Assuming you use jQuery, you can drop this snippet in your template footer to get that archive list (if you display one) to show 5 digit years.
<script> $(document).ready(function() { // Find the archive list and prefix years with a zero. if ($('.archive_list')) { var n = $(".archive_list li").length; $('.archive_list li a').each( function(n, element){ year = $(element).text(); long_year = ("0" + year); $(element).text(long_year); } ); } }); </script>