[wp-hackers] Is today a new day?! - is_new_day()

Baki Goxhaj banago at gmail.com
Thu May 20 17:13:31 UTC 2010


That's exactly what needs to be done Otto - thanks.

Please someone make a patch - I'm not there yet :)

Baki Goxhaj
www.wplancer.com | www.banago.info | www.lintuts.com


On 20 May 2010 19:00, Otto <otto at ottodestruct.com> wrote:

> Oh, I agree. It's there for historical reasons. So we'd need a valid
> replacement for it if it was to be changed.
>
> If somebody wants to make a patch, here's what I'd recommend.
>
> a) fix is_new_day() to actually work.
> b) change the_date and such to always display the date.
>
> With that patch, somebody could do this for the "only on new days" logic:
>
> if (is_new_day()) the_date();
>
> I'd support putting that patch in on a trac ticket. Anybody who
> actually needed that new day functionality (rare) could then fix their
> theme up quite simply with only a minor adjustment.
>
> -Otto
>
>
>
> On Thu, May 20, 2010 at 11:49 AM, Baki Goxhaj <banago at gmail.com> wrote:
> >>
> >> Otto: *Or you could use the_time(). Which is the same as the_date() but
> >> doesn't have the day logic.*
> >>
> >
> > That's what I have been using and I think the the_date() functionality is
> > pretty annoying to leave it blank when the date is the same. I don't know
> > why it has to have that functionality at all.
> >
> > I could not agree more with Jeremy Clarke thoughts.
> >
> > Baki Goxhaj
> > www.wplancer.com | www.banago.info | www.lintuts.com
> >
> >
> > On 20 May 2010 18:38, Jeremy Clarke <jer at simianuprising.com> wrote:
> >
> >> On Thu, May 20, 2010 at 11:49 AM, Otto <otto at ottodestruct.com> wrote:
> >> > Or you could use the_time(). Which is the same as the_date() but
> >> > doesn't have the day logic.
> >>
> >> If you do that then you need to manually specify the PHP date format
> >> to be a date rather than the time. This makes no sense, ignores the
> >> date format setting and completely ignores any filters attached to
> >> the_date or get_the_date.
> >>
> >> If I want to show a *date* I should not have to use a *time* function
> >> with an override on the format to show as a *date*. To do so patently
> >> weird and counter-intuitive.
> >>
> >> the_date() and get_the_date() both use the default date format from
> >> Settings > General, this is very important as that option has huge
> >> effects on i18n of themes and on consistency of design. You can
> >> manually fetch the setting and pass it to the_time(), but that is just
> >> as weird and also not future-proof.
> >>
> >> > If get_the_date() is ignoring the day logic, then that's a bug. It's
> >> > supposed to do the same thing as the_date() in this respect.
> >>
> >> I think that get_the_date() should match get_the_time(), which is a
> >> much more sane function than the_date().
> >>
> >> The real bug is that the_date() includes some very idiosyncratic and
> >> unexpected behavior without any way to turn it off (see the ticket
> >> above for a brief discussion of why adding an argument to turn it off
> >> is awkward).
> >>
> >> What would make sense is if the_date() and get_the_date() did what
> >> you'd expect based on their names: get and show the date with no other
> >> restrictions. If people want the weird once-per-day behavior they
> >> *should* be using a seperate function, like the_date_once()
> >> (hypothetical), or else use a conditional like:
> >>
> >> if (is_new_day()) the_date();
> >>
> >> I'm willing to concede that modifying date display to actually make
> >> sense in WP is probably not worth it, as so many people are used to
> >> the old system and most existing themes already take it for granted
> >> (though I suspect that most theme authors were surprised when they
> >> realized how it worked, and wouldn't have minded if the once-per-day
> >> stuff had never been the default).
> >>
> >> Making get_the_date() show the date without consideration for the
> >> $previous_day stuff is exactly what should happen, especially because
> >> it offers a sane workaround for the legacy strangeness of the_date().
> >> Now when a theme author figures out what's happening and says "WTF
> >> why?" they can at least look at the source of the_date() and see that
> >> get_the_date() is there for them so they can harness the standard
> >> settings (and filters!) for their dates without rewriting the_date()
> >> entirely, which is what most people must be doing to show dates on all
> >> posts inside the loop.
> >>
> >> --
> >> Jeremy Clarke
> >> Code and Design | globalvoicesonline.org
> >> _______________________________________________
> >> wp-hackers mailing list
> >> wp-hackers at lists.automattic.com
> >> http://lists.automattic.com/mailman/listinfo/wp-hackers
> >>
> > _______________________________________________
> > wp-hackers mailing list
> > wp-hackers at lists.automattic.com
> > http://lists.automattic.com/mailman/listinfo/wp-hackers
> >
> _______________________________________________
> wp-hackers mailing list
> wp-hackers at lists.automattic.com
> http://lists.automattic.com/mailman/listinfo/wp-hackers
>


More information about the wp-hackers mailing list