| 开发者 | frostydev |
|---|---|
| 更新时间 | 2026年10月8日 11:43 |
| PHP版本: | 7.4 及以上 |
| WordPress版本: | 7.1 |
| 版权: | GPLv2 or later |
| 版权网址: | 版权信息 |
Europe/Copenhagen rather than a fixed offset such as UTC+1. A fixed offset
does not know when your country changes its clocks, and every event will be an hour
out for half the year. This is the single most common cause of wrong event times on
WordPress sites, and it is not specific to this plugin.[belltime_events]
The shortcode takes optional attributes:
[belltime_events view="month"]
[belltime_events view="list" limit="5" days="90" category="concerts"]
Visitors can subscribe to your calendar at /belltime-calendar.ics.
If your site's PHP or WordPress version is older than this plugin requires, it will
not load and will tell you so in an admin notice. It will not take your site down.No. One event carries one recurrence rule and the dates are calculated when a page is drawn. Only exceptions — a cancelled or moved occurrence — are stored, and there is one record per exception rather than per occurrence.
FREQ (daily, weekly, monthly, yearly), INTERVAL, COUNT, UNTIL, WKST, BYDAY including ordinals such as 2TU and -1FR, BYMONTHDAY including negative values, BYMONTH, BYSETPOS, plus EXDATE and RDATE. If the plugin meets a rule it cannot expand, it shows the base occurrence and says so in an admin notice rather than silently producing wrong dates.
Yes. The site timezone is the default and any event can override it. Useful for touring productions, online courses and organisations operating in more than one country.
It stays two hours long. The plugin stores a duration rather than an end time, which is what keeps the length correct across a clock change in either direction.
Both. There is a block for the block editor and a shortcode for classic editors,
widget areas, page builders and theme templates. Both take the same options and
produce the same output. The plugin's settings screen shows the shortcode in its
"Get started" box, so you can copy it without leaving the page. Its attributes are
view, limit, days, category and month, and they are documented here.
It should cost nothing on pages that do not contain a calendar. Seven callbacks are
registered — two for the calendar feed (template_redirect, and redirect_canonical so
the feed address is not redirected), one on pre_get_posts for the events archive, two
on the content filters, and two on the date filters so an event shows its own date
rather than the day it was published — and every one of them returns on its first line
when the request is not about events. No scheduled task is
registered, no database table is created, and exactly two small options are autoloaded.
This is worth verifying yourself with Query Monitor rather than taking on trust.
They stay. Deleting the plugin removes its options and its cached values, and leaves your events in the database. Removing them as well is a checkbox you have to tick deliberately before deleting, because a deletion that cannot be undone should never be the default.
Not in this plugin. Incoming synchronisation is in the separate paid add-on described in the Description section. This plugin publishes an outgoing feed but does not read anyone else's.
That is the cache, and it is worth knowing about rather than working around. The month view marks today while the page is built on your server. A full-page cache then serves that same HTML to everyone until it expires, so if the page was built yesterday, the highlight is on yesterday. Nothing else in the calendar is affected: dates, times and the order of events are all properties of the events themselves, and they stay right. Only the "today" highlight depends on when the page was rendered. We have deliberately not fixed this with JavaScript. The frontend of this plugin ships none at all, which is what lets it work inside caches, AMP-style output and strict content security policies without special cases, and a highlight is not worth giving that up. If it matters on your site, exclude the page from your cache, or set the cache lifetime to expire nightly.