Skip to content

DateMetadata Criterion

The DateMetadata Search Criterion searches for content based on the date when it was created or last modified.

Arguments

  • target - indicating if publication or modification date should be queried, either DateMetadata::CREATED or DateMetadata::PUBLISHED (both with the same functionality), or DateMetadata::MODIFIED
  • operator - Operator constant (IN, EQ, GT, GTE, LT, LTE, BETWEEN)
  • value - indicating the date(s) that should be matched, provided as a UNIX timestamp (or array of timestamps)

Example

PHP

1
2
3
4
5
$query->query = new Criterion\DateMetadata(
    Criterion\DateMetadata::CREATED,
    Criterion\Operator::BETWEEN,
    [1576800000, 1576972800]
);

REST API

1
2
3
4
5
6
7
8
9
<Query>
    <Filter>
        <DateMetadataCriterion>
            <Target>modified</Target>
            <Value>1675681020</Value>
            <Operator>gte</Operator>
        </DateMetadataCriterion>
    </Filter>
</Query>
1
2
3
4
5
6
7
8
9
    "Query": {
        "Filter": {
            "DateMetadataCriterion": {
                "Target": "modified",
                "Value": 1675681020,
                "Operator": "gte"
            }
        }
    }

Use case

You can use the DateMetadata Criterion to search for blog posts that have been created within the last week:

1
2
3
4
5
6
7
$query = new LocationQuery;
$date = strtotime("-1 week");
$query->query = new Criterion\LogicalAnd([
        new Criterion\ContentTypeIdentifier('blog_post'),
        new Criterion\DateMetadata(Criterion\DateMetadata::CREATED, Criterion\Operator::GTE, $date),
    ]
);