WordPress Locale Switching on Accept-Language Header

that’s going to be a bit tricky since WordPress doesn’t relate date and time format to language. so to get the current language from the browser you can use $_SERVER[‘HTTP_ACCEPT_LANGUAGE’] and then based on that you can change the date format: function update_date_format(){ $lang = substr($_SERVER[‘HTTP_ACCEPT_LANGUAGE’], 0, 2); if (strpos($lang, ‘au’) > 0){ $date_format=”d/m/Y”; // …

Read more

How can I wrap html around the output of the_time function?

Please see this documentation for the usage about the_time(). You are not supposed to add html inside the parameter of the_time(). (edit: use get_the_time() with in string concatenation) To solve this, try this code: echo ‘<div class=”post_date”><div class=”month”>’.get_the_time(‘F’).'</div>’.'<div class=”day”>’.get_the_time(‘d’).'</div><div class=”year”>’.get_the_time(‘Y’).'</div></div>’; edit: corrected to the use of get_the_time()

Timezone UTC to PST

WordPress always sets time zone to UTC and native PHP functions will report and operate that in its environment. To get local time (adjusted from UTC by WP’s timezone setting) you need to use WP’s functions, such as date_i18n() and others. It’s confusing, but it’s much less problematic to do it WP way, than try …

Read more

Show 1 post and after a specific date show the next one

Assuming, as per the above comment, the format of the dates is YYYY/MM/DD: $args = array( ‘posts_per_page’ => 1, ‘cat’ => 6, ‘meta_key’ => ‘begin_date’, // adjust to actual key ‘meta_value’ => date( ‘Y/m/d’ ), ‘meta_compare’ => ‘>=’, ‘order’ => ‘ASC’, ‘orderby’ => ‘meta_value’ ); $wpse72195_query = new WP_Query( $args ); // do something with …

Read more

If modified on same day, show only time

Give this a try: if(get_the_modified_date(‘zY’)==date(‘zY’)) { the_modified_date(‘g:i a’); } else { the_modified_date(‘F j, Y’); echo ‘ at ‘; the_modified_date(‘g:i a’); } It checks that the modified date is the current day. If it is, it only displays the modified time. Otherwise it displays both the date and time.