- Description
- FAQ
- Screenshots
- DEMO
- Updates & Support
The Time Since facet is used to filter posts by date / time since a specified interval.
Setup
- Data Source: A date; “Post Date”, “Post Modified”, or a custom field in
YYYY-MM-DD
format - Choices: the choices to display (one per line). The label and formatter are separated by “|”. Example:
Past Day | -1 day
Past 7 Days | -7 days
Past 30 Days | -30 days
Past 90 Days | -90 days
Past Year | -1 year
Next 7 Days | +7 days
Today | today
Tomorrow | tomorrow
Yesterday | yesterday
The formatter is based on PHP’s strtotime
function (see example).
Using custom ranges
Let’s say you wanted to add a choice to filter by Older than 1 year
.
First, add a new row into the “Choices” box:
Older than 1 year | over-1-year
As you can see over-1-year
is the custom formatting token. Since PHP won’t know how to automatically parse it, a hook is needed to set the date range manually:
add_filter( 'facetwp_time_since_date_range', function( $range, $format ) {
if ( 'over-1-year' == $format ) {
$dt1 = new DateTime( '1970-01-01' );
$dt2 = new DateTime( '-1 year' );
$range['lower'] = $dt1->format( 'Y-m-d' );
$range['upper'] = $dt2->format( 'Y-m-d' );
}
return $range;
}, 10, 2);
Changelog
1.6.5
- New ability to use custom format ranges (see the doc page)
- Fixed default to “OR” mode for all Time Since choices
1.6.4
- Fixed user selections feature was empty
- Fixed use JS versioning to bust caching
1.6.3
- Fixed filtering broken when labels are translated using `facetwp_i18n` hook
1.6.2
- Improved changed textdomain to `facetwp-time-since`
- Fixed choice labels can now be translated via the `facetwp_i18n` hook
- Fixed undefined $token variable (props Rhys)
1.6
- New revamped filtering logic to support “today”, “tomorrow”, and “yesterday”
1.5.1
- Changed replaced `wp.hooks` to `FWP.hooks` due to conflict with WP 5.0