Namespace: dmyip/v1
All endpoints are public (no authentication required). Available when the modern loading path is active (requires vendor/autoload.php).
GET /wp-json/dmyip/v1/dates
Returns all date types organized by category.
Response:
{
"year": {
"current": "2026",
"next": "2027",
"previous": "2025"
},
"month": {
"current": "February",
"current_short": "Feb",
"next": "March",
"previous": "January",
"number": "2"
},
"day": {
"current": "18",
"next": "19",
"previous": "17",
"weekday": "Tuesday",
"weekday_short": "Tue"
},
"combined": {
"date": "February 18, 2026",
"monthyear": "February 2026",
"next_monthyear": "March 2026",
"prev_monthyear": "January 2026"
},
"events": {
"blackfriday": "November 28",
"cybermonday": "December 1"
},
"season": {
"north": "Winter",
"south": "Summer"
},
"timezone": "America/New_York",
"timestamp": 1771372800,
"gmt_offset": -5,
"date_format": "F j, Y",
"time_format": "g:i a"
}
GET /wp-json/dmyip/v1/date/{type}
Returns a single date value.
Path parameter:
type(required) – Any supported date type
Query parameters:
offset(int, optional) – Year offsetdate(string, optional) – Target date for countdown/age types (YYYY-MM-DD)
Supported types: year, nyear, pyear, month, mon, nmonth, pmonth, date, monthyear, dt, weekday, wd, blackfriday, cybermonday, datepublished, datemodified, daysuntil, dayssince, age, season
Examples:
GET /wp-json/dmyip/v1/date/year
→ {"type": "year", "value": "2026"}
GET /wp-json/dmyip/v1/date/year?offset=5
→ {"type": "year", "value": "2031"}
GET /wp-json/dmyip/v1/date/month
→ {"type": "month", "value": "February"}
GET /wp-json/dmyip/v1/date/daysuntil?date=2026-12-25
→ {"type": "daysuntil", "value": "310"}
GET /wp-json/dmyip/v1/date/age?date=1990-05-15
→ {"type": "age", "value": "35"}
GET /wp-json/dmyip/v1/date/season
→ {"type": "season", "value": "Winter"}
GET /wp-json/dmyip/v1/shortcodes
Returns all shortcodes categorized with descriptions and examples.
Response structure:
{
"year": [
{"shortcode": "[year]", "description": "Current year", "example": "2026"},
{"shortcode": "[nyear]", "description": "Next year", "example": "2027"}
],
"month": [
{"shortcode": "[month]", "description": "Current month", "example": "February"}
],
"day": [...],
"combined": [...],
"events": [...],
"countdown": [...],
"season": [...],
"post_dates": [...]
}
Usage from JavaScript
// Fetch all dates
const response = await fetch('/wp-json/dmyip/v1/dates');
const dates = await response.json();
console.log(dates.year.current); // "2026"
console.log(dates.month.current); // "February"
console.log(dates.season.north); // "Winter"
// Fetch a specific date type
const age = await fetch('/wp-json/dmyip/v1/date/age?date=1990-05-15');
const data = await age.json();
console.log(data.value); // "35"
// Fetch with year offset
const futureYear = await fetch('/wp-json/dmyip/v1/date/year?offset=10');
const result = await futureYear.json();
console.log(result.value); // "2036"
Usage from cURL
# All dates
curl https://example.com/wp-json/dmyip/v1/dates
# Single date
curl https://example.com/wp-json/dmyip/v1/date/year
# Age calculation
curl "https://example.com/wp-json/dmyip/v1/date/age?date=1990-05-15"
# Days until event
curl "https://example.com/wp-json/dmyip/v1/date/daysuntil?date=2026-12-25"
# List all shortcodes
curl https://example.com/wp-json/dmyip/v1/shortcodes