Title: Bezugssysteme ICS Feed
Author: tomevers
Published: <strong>Сентябрь 7, 2026-ж.</strong>
Last modified: Сентябрь 7, 2026-ж.

---

Плагиндерди издөө

![](https://s.w.org/plugins/geopattern-icon/bezugssysteme-ics-feed.svg)

# Bezugssysteme ICS Feed

 Автору [tomevers](https://profiles.wordpress.org/tomevers/)

[Жүктөө](https://downloads.wordpress.org/plugin/bezugssysteme-ics-feed.1.7.1.zip)

 * [Кенен маалымат](https://ky.wordpress.org/plugins/bezugssysteme-ics-feed/#description)
 * [Сын-пикирлер](https://ky.wordpress.org/plugins/bezugssysteme-ics-feed/#reviews)
 *  [Орнотуу](https://ky.wordpress.org/plugins/bezugssysteme-ics-feed/#installation)
 * [Development](https://ky.wordpress.org/plugins/bezugssysteme-ics-feed/#developers)

 [Колдоо](https://wordpress.org/support/plugin/bezugssysteme-ics-feed/)

## Сүрөттөө

**Bezugssysteme ICS Feed** lets you pull in external calendar feeds (Google Calendar,
Apple iCloud, Outlook, Nextcloud, club/community software, and any other RFC 5545-
compliant ICS source) and display them as clean, accessible, fully customizable 
event cards on your WordPress site.

Feeds are managed as their own content type, synced with one click, cached locally
for fast page loads, and displayed wherever you need them: a native Gutenberg block,
a flexible shortcode, or a classic sidebar widget.

#### Key Features

 * **Native Gutenberg block** with a real server-side live preview in the editor,
   plus full InspectorControls for layout, sorting, and design.
 * **Recurring events (RRULE)**: daily, weekly, monthly, and yearly recurrence rules
   are automatically expanded into individual occurrences, including `BYDAY`, `BYMONTHDAY`,`
   BYMONTH`, `INTERVAL`, `COUNT`, `UNTIL`, and `EXDATE`. Timezone- and DST-safe.
 * **Combine multiple calendars** in a single view: pass a comma-separated list 
   of feed IDs to merge feeds, each visually distinguished with its own accent color,
   source badge, and dedicated quick filter.
 * **Three tile design presets** (Classic, Minimal/Flat, Accent Header) with granular
   control over colors, shadows, padding, border radius, and optional inheritance
   of your active theme’s colors.
 * **Teaser vs. detail field control**: decide, per RFC 5545 field, whether it appears
   immediately in the card or only after clicking “Read more” (accordion or dedicated
   single-event page).
 * **CSV export**: a one-click, Excel-compatible CSV download of the currently displayed
   events (semicolon-separated with UTF-8 BOM for correct handling of accented characters).
 * **Add to Calendar**: one-click export of any event to Google Calendar, Outlook
   Web, or as an Apple/ICS download.
 * **Client-side search and category filtering**, no page reload required.
 * **Resilient local caching**: the frontend never makes a live request to the external
   feed. If the source is temporarily unreachable, the existing cached events are
   kept.
 * **Automatic background sync** via WP-Cron (hourly, twice daily, or daily per 
   feed), with a built-in status panel and setup guidance for a real server cron
   job.
 * **Schema.org Event structured data (JSON-LD)** for Google Rich Snippets, without
   touching `<head>`.
 * **Accessibility**: WAI-ARIA roles and states throughout (tabs, accordion, dialogs),
   screen-reader labels, visible focus states, and a dedicated print stylesheet.
 * **Classic sidebar widget** for themes or widget areas without block-widget support.
 * **No external runtime dependencies**: no jQuery on the frontend, no bundled frameworks—
   vanilla CSS Grid and vanilla JavaScript.

#### Security

 * Feed URLs are fetched with `wp_safe_remote_get()`, which blocks requests to internal/
   private IP ranges at the WordPress core level.
 * All state-changing actions are nonce-protected; feed management requires a dedicated
   capability limited to Administrators and Editors by default.
 * Feed descriptions are rendered as plain text, not HTML, to avoid content injection
   from a feed source you don’t fully control.
 * The CSV export endpoint’s download link is nonce-bound to the specific feed combination,
   preventing blind enumeration of feed IDs that aren’t embedded anywhere on your
   site.

### Privacy

This plugin does not send any data to the plugin author or to any third-party service
operated by the author. It does not use tracking, analytics, or telemetry of any
kind.

The only outbound network request the plugin makes is to the calendar feed URL that
you, the site administrator, configure for each feed — this request is made directly
from your own WordPress server to that URL, exactly once per manual sync and, if
enabled, on the schedule you choose (hourly, twice daily, or daily). Which data 
is transmitted or received depends entirely on that feed URL and the service hosting
it (e.g., Google Calendar, Apple iCloud, Outlook), not on this plugin.

Calendar data returned by that feed (event titles, dates, locations, descriptions,
etc.) is cached in your own WordPress database and displayed on your site; it is
never transmitted anywhere else by this plugin. The optional CSV export feature 
generates a file on the fly from that same cached data and sends it directly to 
the visitor’s browser — it is not stored anywhere or transmitted to a third party.

## Блоктор

This plugin provides 1 block.

 *   ICS Kalender-Feed

## Орнотуу

 1. Upload the `bezugssysteme-ics-feed` folder to `/wp-content/plugins/`, or install
    the plugin ZIP directly via **Plugins  Add New  Upload Plugin**.
 2. Activate the plugin through the **Plugins** menu in WordPress.
 3. Go to the new **ICS Feeds** menu item and add your first feed.
 4. Enter the feed’s ICS/iCal URL and click **Analyze & Sync Feed**.
 5. Choose which fields appear in the teaser vs. the detail view, configure layout 
    and design, then publish.
 6. Display it with the shortcode `[bs_ics_calendar id="123"]`, the **ICS Calendar 
    Feed** Gutenberg block, or the **ICS Calendar Feed** widget.

## FAQ.KG

### Which calendar sources are supported?

Any publicly accessible ICS/iCalendar feed that follows RFC 5545 — including Google
Calendar, Apple iCloud, Outlook/Office 365, Nextcloud, and most club, community,
and event management software.

### Does it fetch the feed live on every page view?

No. Feeds are synced (manually or automatically via WP-Cron) and cached in your 
WordPress database. Frontend page views never trigger an external request, so a 
slow or temporarily unreachable calendar source never slows down or breaks your 
site — the last successfully cached events are kept.

### Are recurring events (like a weekly class) supported?

Yes. Daily, weekly, monthly, and yearly `RRULE` recurrence patterns are expanded
into individual event occurrences automatically, including exceptions (`EXDATE`).
Very rare recurrence modifiers (`BYSETPOS`, `BYWEEKNO`, `BYYEARDAY`, `RDATE`) are
not supported.

### Can I show events from more than one calendar in the same place?

Yes. Use a comma-separated list of feed IDs, e.g. `[bs_ics_calendar id="12,34,56"]`,
or add additional calendars in the Gutenberg block’s sidebar. Each event is labeled
with its source and colored with that feed’s own accent color, and visitors can 
filter by source.

### Does this work without Gutenberg / in a classic theme?

Yes. Use the shortcode or the classic sidebar widget — both work independently of
the block editor.

### Is the output accessible?

Yes. The frontend markup uses semantic HTML, WAI-ARIA roles/states, visible focus
indicators, and screen-reader-only labels throughout, and includes a dedicated print
stylesheet.

### Where can I get support?

Please use the plugin’s support forum on WordPress.org, or reach out via [bezugssysteme.de](https://bezugssysteme.de).

## Сын-пикирлер

There are no reviews for this plugin.

## Contributors & Developers

“Bezugssysteme ICS Feed” is open source software. The following people have contributed
to this plugin.

Мүчөлөрү

 *   [ tomevers ](https://profiles.wordpress.org/tomevers/)

[Translate “Bezugssysteme ICS Feed” into your language.](https://translate.wordpress.org/projects/wp-plugins/bezugssysteme-ics-feed)

### Interested in development?

[Browse the code](https://plugins.trac.wordpress.org/browser/bezugssysteme-ics-feed/),
check out the [SVN repository](https://plugins.svn.wordpress.org/bezugssysteme-ics-feed/),
or subscribe to the [development log](https://plugins.trac.wordpress.org/log/bezugssysteme-ics-feed/)
by [RSS](https://plugins.trac.wordpress.org/log/bezugssysteme-ics-feed/?limit=100&mode=stop_on_copy&format=rss).

## Өзгөртүүлөр

#### 1.7.1

 * Renamed the plugin from “BS ICS Feed” to “Bezugssysteme ICS Feed” (name, slug,
   main file, text domain, translation template) following a WordPress.org Plugin
   Review naming/trademark request.
 * Security: added `JSON_HEX_TAG` to the Schema.org JSON-LD output so a feed value
   containing a literal `</script>` cannot break out of the structured-data script
   tag.

#### 1.7.0

 * New: month navigation (`month_view` display setting / shortcode attribute / block
   control) shows a month picker above the event list and only the events of the
   selected month; the current month automatically hides days that have already 
   passed, and months that are fully in the past are never offered as a navigation
   target.
 * New: tile inner padding and the gap between tiles are now freely configurable
   in pixels (previously fixed compact/normal/spacious presets); existing feeds 
   are migrated transparently to their previous pixel equivalent.
 * New: the “+ Calendar” export button’s label is now configurable (display setting,
   shortcode attribute `cal_text`, block control) instead of being hard-coded to“
   Kalender”.
 * Fixed: card headers within the same visual grid row are now equalized to the 
   same height client-side, preventing a jagged look when individual events have
   longer date ranges or extra badges (e.g. multi-day or recurring events).
 * Fixed: feeds whose source occasionally emits the same recurring occurrence multiple
   times (observed with some third-party ICS exporters) are now deduplicated by 
   their computed occurrence ID during parsing, preventing the same event from being
   listed dozens of times.
 * Fixed: the release build no longer bundles `.github/` or the GitHub-facing `README.
   md` into the distributed plugin ZIP; the release workflow now aborts instead 
   of publishing a broken release if the version number can’t be read from the plugin
   header.

#### 1.6.2

 * Fixed: Plugin URI and Author URI header fields were identical, which the WordPress.
   org plugin submission check rejects. Plugin URI now points to the project’s GitHub
   repository; Author URI continues to point to the author’s website.

#### 1.6.1

 * Renamed the plugin from “BS WP ICS Feed Reader” to “BS ICS Feed” (name, slug,
   text domain, main file, translation template, block namespace) to comply with
   the WordPress.org trademark policy on the term “WP”.
 * Added GPLv2 license header and LICENSE.txt.
 * Added this readme.txt in the official WordPress.org format.
 * Minor code cleanup: translator comments, removed unneeded `load_plugin_textdomain()`
   call, removed a disallowed `suppress_filters` query argument.

#### 1.6.0

 * New: CSV export button lets visitors download the currently displayed events 
   as an Excel-compatible CSV file.
 * New: dedicated, nonce-secured `admin-ajax.php` endpoint for the export, decoupled
   from page rendering.
 * New: per-feed toggle, shortcode attribute (`csv`), and block control for the 
   CSV export button.

#### 1.5.0

 * New: classic WP_Widget “ICS Calendar Feed” for sidebars and widget areas without
   block-widget support.

#### 1.4.0

 * New: combine multiple feeds into a single view via a comma-separated list of 
   feed IDs, with per-source color coding, badges, and a dedicated quick filter.
 * New: matching multi-select control in the Gutenberg block sidebar.

#### 1.3.0

 * New: recurring event support (RRULE) — daily/weekly/monthly/yearly rules, BYDAY/
   BYMONTHDAY/BYMONTH, INTERVAL, COUNT, UNTIL, and EXDATE are expanded into individual,
   timezone- and DST-safe occurrences.
 * New: “Recurring” badge on affected event cards.

#### 1.2.0

 * Security: feed descriptions are now rendered as plain text instead of HTML.
 * Security: the “Add to Calendar” ICS export now escapes special characters correctly
   per RFC 5545.
 * Security: feed management is now restricted to Administrators and Editors via
   a dedicated capability.
 * Fix: the WP-Cron background sync now actually respects each feed’s chosen interval(
   hourly/twice daily/daily) instead of always syncing hourly.
 * Fix: events without their own UID in the source feed now get a stable, deterministic
   fallback ID, so single-event links survive future syncs.
 * New: WP-Cron status panel in the admin screen, including setup guidance for a
   real server cron job.
 * New: live design preview, persistent active settings tab, full ARIA tab pattern,
   and basic dark-mode support in the admin and frontend UI.
 * Fix: settings tabs no longer overlap the sidebar meta box on narrow screens.

#### 1.1.0

 * New: native Gutenberg block with a real server-side live preview.
 * New: three tile design presets, theme color inheritance, configurable shadows/
   padding/borders.
 * New: Schema.org Event JSON-LD structured data.
 * New: WCAG 2.1 AA accessibility pass.
 * New: “Add to Calendar” export (Google Calendar, Outlook Web, Apple/ICS download).
 * New: client-side search and category filter.
 * New: automatic WP-Cron background sync.

#### 1.0.0

 * Initial release: custom post type feed management, RFC 5545 parser, AJAX sync,
   shortcode renderer, responsive grid/list layout.

## Мета

 *  Нуска **1.7.1**
 *  Акыркы жаңыртуу **14 саат мурун**
 *  Активдүү орнотуулар **Fewer than 10**
 *  WordPress нускасы ** 5.8 же андан жогору **
 *  Tested up to **7.1**
 *  PHP нускасы ** 7.4 же андан жогору **
 *  Тил
 * [English (US)](https://wordpress.org/plugins/bezugssysteme-ics-feed/)
 * Тег:
 * [calendar](https://ky.wordpress.org/plugins/tags/calendar/)[events](https://ky.wordpress.org/plugins/tags/events/)
   [gutenberg](https://ky.wordpress.org/plugins/tags/gutenberg/)[ical](https://ky.wordpress.org/plugins/tags/ical/)
   [ics](https://ky.wordpress.org/plugins/tags/ics/)
 *  [Advanced View](https://ky.wordpress.org/plugins/bezugssysteme-ics-feed/advanced/)

## Рейтинг

Азырынча эч кандай сын-пикир жок.

[Your review](https://wordpress.org/support/plugin/bezugssysteme-ics-feed/reviews/#new-post)

[See all reviews](https://wordpress.org/support/plugin/bezugssysteme-ics-feed/reviews/)

## Мүчөлөрү

 *   [ tomevers ](https://profiles.wordpress.org/tomevers/)

## Колдоо

Комментарийлер барбы? Жардам керекпи?

 [Колдоо форумун көрүү](https://wordpress.org/support/plugin/bezugssysteme-ics-feed/)