Home › Forums › Product Support Forums › Ajax Search Pro for WordPress Support › Search FROM DATE including the date › Reply To: Search FROM DATE including the date
April 25, 2019 at 1:26 pm
#22315
Keymaster
Hi Miguel,
This is currently only possible by making direct changes to the main plugin files. If you want to change that, then please follow these instructions:
1. Make sure to have a site back-up first, just in case.
2. Open up the wp-content/plugins/ajax-search-pro/includes/classes/search/class-asp-search-cpt.php file, and find these lines (around 980-1020):
// Is this a special case of date operator?
if (strpos($operator, "datetime") === 0) {
switch ($operator) {
case 'datetime =':
$current_part = "($wpdb->postmeta.meta_value BETWEEN '$posted 00:00:00' AND '$posted 23:59:59')";
break;
case 'datetime <>':
$current_part = "($wpdb->postmeta.meta_value NOT BETWEEN '$posted 00:00:00' AND '$posted 23:59:59')";
break;
case 'datetime <':
$current_part = "($wpdb->postmeta.meta_value < '$posted 00:00:00')";
break;
case 'datetime >':
$current_part = "($wpdb->postmeta.meta_value > '$posted 23:59:59')";
break;
default:
$current_part = "($wpdb->postmeta.meta_value < '$posted 00:00:00')";
break;
}
// Is this a special case of timestamp?
} else if (strpos($operator, "timestamp") === 0) {
switch ($operator) {
case 'timestamp =':
$current_part = "($wpdb->postmeta.meta_value BETWEEN $posted AND ".($posted + 86399).")";
break;
case 'timestamp <>':
$current_part = "($wpdb->postmeta.meta_value NOT BETWEEN $posted AND ".($posted + 86399).")";
break;
case 'timestamp <':
$current_part = "($wpdb->postmeta.meta_value < $posted)";
break;
case 'timestamp >':
$current_part = "($wpdb->postmeta.meta_value > ".($posted + 86399).")";
break;
default:
$current_part = "($wpdb->postmeta.meta_value < $posted)";
break;
}
// Check BETWEEN first -> range slider
} else if ( $operator === "BETWEEN" ) {
3. Change that to this:
// Is this a special case of date operator?
if (strpos($operator, "datetime") === 0) {
switch ($operator) {
case 'datetime =':
$current_part = "($wpdb->postmeta.meta_value BETWEEN '$posted 00:00:00' AND '$posted 23:59:59')";
break;
case 'datetime <>':
$current_part = "($wpdb->postmeta.meta_value NOT BETWEEN '$posted 00:00:00' AND '$posted 23:59:59')";
break;
case 'datetime <':
$current_part = "($wpdb->postmeta.meta_value < '$posted 23:59:59')";
break;
case 'datetime >':
$current_part = "($wpdb->postmeta.meta_value > '$posted 00:00:00')";
break;
default:
$current_part = "($wpdb->postmeta.meta_value < '$posted 23:59:59')";
break;
}
// Is this a special case of timestamp?
} else if (strpos($operator, "timestamp") === 0) {
switch ($operator) {
case 'timestamp =':
$current_part = "($wpdb->postmeta.meta_value BETWEEN $posted AND ".($posted + 86399).")";
break;
case 'timestamp <>':
$current_part = "($wpdb->postmeta.meta_value NOT BETWEEN $posted AND ".($posted + 86399).")";
break;
case 'timestamp <':
$current_part = "($wpdb->postmeta.meta_value < ".($posted + 86399).")";
break;
case 'timestamp >':
$current_part = "($wpdb->postmeta.meta_value > ".($posted).")";
break;
default:
$current_part = "($wpdb->postmeta.meta_value < $posted)";
break;
}
// Check BETWEEN first -> range slider
} else if ( $operator === "BETWEEN" ) {
4. Save the file, and that should do the trick.