ICS Calendar

Popis

Add the calendar you already use to Any WordPress site! Google Calendar, Microsoft 365, iCloud, Airbnb and more… no API keys or complicated setup required.

Pomocí jednoduchého shortcode můžete proměnit jakýkoli zdroj předplatného iCalendar (ICS) (Kalendář Google, Microsoft Office 365, Apple iCloud, Airbnb, Vrbo a mnoho dalších) na bezproblémově integrovaný kalendář WordPress s automatickou aktualizací, který nevyžaduje údržbu.

Pokračujte ve správě událostí v kalendářové aplikaci, kterou již používáte! Na svém webu WordPress budete mít automaticky aktuální kalendář bez práce navíc.

Kalendář lze zobrazit v měsíčním nebo týdenním pohledu, případně jako seznam. K dispozici je mnoho různých možností nastavení a přizpůsobení. Prohlédněte si Uživatelskou přírůčku, ve které získáte další informace a podrobnosti.

Není potřeba používat API!

Funguje s KAŽDÝM softwarovým kalendářem, který generuje dostupný soubor typu iCalendar.

Živá ukázka

Můžete si zkusit zobrazit svůj kalendář na naší stránce: icscalendar.com/preview

Nástroj pro vytváření krátkých kódů

Začít používat kalendář ICS je díky našemu novému online nástroji pro tvorbu zkrácených kódů snazší než kdy dříve: icscalendar.com/shortcode-builder

Podpora jazyků

Všechny datové řetězce (dny v týdnu, měsíce atd.) jsou automaticky přeloženy do nastaveného jazyka webu (viz Nastavení > Obecné > Jazyk) včetně formátů data a času pomocí základní funkce WordPressu. Veškerý textový obsah samotného kalendáře se zobrazuje tak, jak je převzat ze souboru kalendáře.

ICS Calendar includes built-in translation files for the following languages: Chinese, Czech, Danish, Dutch, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Japanese, Korean, Latvian, Lithuanian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovenian, Spanish, Swedish, Turkish, and Ukrainian.

Pokud chcete, abychom přidali podporu pro váš jazyk, kontaktujte nás prosím.

Tento plugin obsahuje knihovnu PHP ICS Parser. Knihovnu napsali Jonathan Goode, John Grogg and Martin Thoma (licence MIT).

Instalace

Až bude plugin nainstalován a aktivován, použijte níže uvedený zkrácený kód (přidáním vlastní adresy URL ICS feedu mezi uvozovky) a vložte kalendář do svých stránek. Použijte náš online nástroj pro snadné vytvoření vlastního zkráceného kódu nebo se podívejte do uživatelské příručky na další informace.

[ics_calendar url=""]

Ujistěte se, že vkládáte URL kanálu iCalendar (ICS) (tj. pro import do programu kalendáře), nikoli URL pro zobrazení kalendáře ve webovém prohlížeči. Chcete-li vyzkoušet, zda máte správnou adresu URL, vložte ji přímo do adresního řádku prohlížeče. Mělo by dojít ke stažení souboru .ics, nikoli k zobrazení kalendáře v prohlížeči.

Nejčastější dotazy

Jak najdu URL adresu zdroje ICS mého kalendáře?

Různé kalendářní systémy mají různé způsoby, jak získat URL kanálu. Níže naleznete pokyny pro běžně používané kalendáře. Užitečné informace poskytne i dokumentace vámi použitého kalendářního systému.

Ujistěte se, že je váš kalendář veřejný. K soukromým kalendářům nemá plugin přístup.

Odkazy na dokumentaci:

Jak vložím kalendář na svou stránku?

Použijte tento zkrácený kód a mezi uvozovky vložte adresu URL kanálu ICS:

[ics_calendar url=""]

Ujistěte se, že vkládáte URL kanálu iCalendar (ICS) (tj. pro import do programu kalendáře), nikoli URL pro zobrazení kalendáře ve webovém prohlížeči. Chcete-li vyzkoušet, zda máte správnou adresu URL, vložte ji přímo do adresního řádku prohlížeče. Mělo by dojít ke stažení souboru .ics, nikoli k zobrazení kalendáře v prohlížeči.

Můžu kombinovat více kalendářů?

Ano! Můžete kombinovat více kalendářů tak, že do parametru url uvedete více než jednu adresu kanálu. Oddělte adresy URL kalendářů jednou mezerou nebo znakem |. Nepoužívejte žádné jiné oddělovací znaky, budou interpretovány jako součást adresy URL.

Proč se můj kalendář nenačítá?

Může to být způsobeno konfigurací vašeho serveru. Tento plugin vyžaduje buď rozšíření PHP cURL, nebo nastavení PHP allow_url_fopen. Pokud si myslíte, že toto způsobuje problém, zkontrolujte konfiguraci PHP nebo správce serveru. Můžete také přidat debug="true" do svého krátkého kódu a zobrazit svou stránku, abyste viděli výstup ladění, který může poskytnout další podrobnosti o případných problémech s připojením.

Proč se můj kalendář neaktualizuje?

Z důvodu výkonu používá tento plugin WordPress transients k ukládání načtených dat kalendáře po dobu jedné hodiny mezi požadavky na zdrojový server kalendáře. Pokud jste aktualizovali události, které se na vaší stránce nezobrazují, přejděte na stránku Kalendář ICS ve správci webu a klikněte na tlačítko Vymazat data kalendáře v mezipaměti.

Pluginy pro řízení vyrovnávací paměti mohou interferovat s ICS Kalendářem. Pokud používáte nějaký takový plugin a kalendář se neaktualizuje, zkuste v kódu použít AJAX.

Proč jsou časy událostí po začátku letního času o hodinu posunuty?

PHP má dva různé způsoby definování časových pásem: jako počet hodin s odchylkou od GMT/UTC (např. „UTC-5“) nebo jako kombinaci kontinent/město (např. „Amerika/Chicago“). Časová pásma používající offsety UTC nezpracovávají letní čas správně (jak je uvedeno v dokumentaci PHP). Zkontrolujte prosím nastavení svého časového pásma WordPress (Nastavení > Obecné > Časové pásmo). Pokud je nastaven na posun UTC, změňte jej na město nejblíže vaší poloze ve stejném časovém pásmu. Od verze 6.0 můžete také nastavit časové pásmo v rámci krátkého kódu pomocí parametru tz. (Opět se ujistěte, že používáte pojmenované časové pásmo regionu/města, nikoli posun UTC.)

Další dokumentace a podpora

Naše Uživatelská příručka obsahuje rozsáhlou dokumentaci všech funkcí pluginu, je často aktualizována a je přeložena do všech jazyků podporovaných pluginem.

Požadavky na funkce

Placená verze ICS Kalendáře Pro má více možností zobrazení, nástroje nastavení kalendáře bez nutnosti přímé editace CSS souborů, vylepšený nástroj pro vkládání a mnoho dalšího. Plugin se stále vyvýjí a tak stále přidáváme do obou verzí další možnosti a vylepšení. Pokud máte návrhy na funkce, které byste rádi viděli, nebo jakékoliv další podněty, dejte nám prosím vědět na stránce podpory, kam se dostanete z administrace, nebo ve Fóru podpory WordPressu. Základní plugin bude vždy k dispozici zdarma.

Recenze

15. 2. 2026
no limits for entries!no extra event management necessary, I just integrated a google calendar
1. 12. 2025
Once set up correctly, it works smoothly. Initially, I was making updates to my iOS calendar and not seeing them instantly so that was stressing me out. I installed a caching plugin (Purge SG Cache by Siteground) and that took care of the instant refresh issue. Now I regularly update my iOS calendar and the updates appear without having to purge the cache. I still use the caching plugin at other times though and it’s helpful to have it.
17. 11. 2025
Lovely functionality and appearance straight out of the box. I wanted to tweak the UX to have 2x calendars showing with interleaved events.. it just handles it perfectly. Many thanks for an excellent plugin.
Excellent plugin and it just works. Was able to plug in an Outlook Office 365 ics file and it just works. That’s it, the plugin just works! Thanks for sharing with us.
Přečtěte si všech 72 recenzí

Autoři

ICS Calendar je otevřený software. Následující lidé přispěli k vývoji tohoto pluginu.

Spolupracovníci

Plugin „ICS Calendar“ byl přeložen do 6 jazyků. Děkujeme všem překladatelům za jejich pomoc.

Přeložte “ICS Calendar” do svého jazyka.

Zajímá vás vývoj?

Prohledejte kód, podívejte se do SVN repozitáře, nebo se přihlaste k odběru protokolu vývoje pomocí RSS.

Přehled změn

12.0.5.2 – 2026.03.23

  • AJAX:
    • Fixed bug that would cause the next upcoming event to be omitted in List and Basic views, when running PHP 7.4 or earlier.
  • Miscellaneous:
    • Began process of refactoring r34ics_init() JavaScript function to address issues when multiple calendars are displayed on the same page. Some logic in this function must run for every calendar, and some of it should only run once per page. The logic that should only run once per page is being moved to a separate r34ics_init_once() function.

12.0.5.1 – 2026.03.11

  • Basic view:
    • Fixed feed color coding regression bug introduced in 12.0.0.

12.0.5 – 2026.03.09

  • Admin:
    • Added check to only display the initial Quick Start Guide alert if there are no saved calendar feed URLs.
  • Functions:
    • Modified r34ics_maybe_make_clickable() to fix regression in converting raw image URLs into img tags; added support for WebP image URLs.
  • i18n:
    • Added Icelandic.

12.0.4.2 – 2026.02.27

  • Miscellaneous:
    • Modified recursion conditional in R34ICS::_url_get_contents() method to only check for specific text strings in the response when the response code is not 200. This should resolve possible erroneous redirections that occur if the text strings being checked appear in the ICS feed response content itself.
  • i18n:
    • Reworked r34ics_i18n_symlinks() to delete old translation files before copying or symlinking new file, to ensure changes are picked up.
    • Updated translation strings.

12.0.4.1 – 2026.02.07

  • Miscellaneous:
    • Reverted the redirection change introduced in 12.0.4, as it seems to be breaking the custom redirection logic ICS Calendar already included. In the rare cases where a feed does need redirection to be set to something other than 0, this can be done with custom PHP using the r34ics_url_get_contents_request_args filter.
  • i18n:
    • Added workaround logic for edge case with Loco Translate conflict fix (introduced in 12.0.3), for servers where the PHP symlink() function is not available. The plugin now checks for symlink(), falls back to copy() if needed, and if both fail, it displays an admin notice addressing the conflict with Loco Translate.
    • Updated translation strings.

12.0.4 – 2026.02.02

  • Print Button:
    • Added logic to print the currently selected month or week in the print view. Previously, printing would revert to the initial month or week selection.
    • Several CSS modifications, including adjusting text size for list-type views vs. table-type views, and flattening list/basic pagination (all „pages“ shown in print output).
    • Restored general print CSS media queries; changes for the print button introduced in v. 11.6.0 work only with the print button, not when printing the full page with the browser’s default printing.
  • Miscellaneous:
    • Changed redirection value in R34ICS::_url_get_contents() method from 0 to 5. May resolve some feed loading issues when the source returns an HTTP 302 redirect.
    • Refactored CSS.

12.0.3.1 – 2026.01.21

  • Modified AJAX conditional in R34ICS::shortcode(), changed in 12.0.3, to handle undefined $args['ajax']. (Probably unnecessary since it’s explicitly defined above, but best practice since there’s a filter that can modify the contents of $args.)
  • Tweaked logic in r34ics_is_html() to resolve false negatives.
  • Updated new inline image logic in r34ics_maybe_make_clickable() to only run if there is no detected HTML in the string. In some instances the code was converting images that were already in an img tag. (The assumption here will be that if the string contains any HTML, the image will already be in an img tag if that’s the intention.

12.0.3 – 2026.01.19

  • AJAX:
    • Made logic for determining whether or not to load the calendar via AJAX more explicit, to resolve an issue that was occurring in certain highly optimized setups involving caching and preloading (e.g. WP Rocket).
  • Block Editor:
    • Modified r34ics_is_block_editor() to more effectively limit the conditional check for REST_REQUEST constant.
  • Event downloads:
    • Fixed a bug that was causing incorrect event information to be downloaded under certain conditions, apparently affecting mainly Microsoft calendars. According to the iCalendar spec the event UID property is supposed to be persistent, but in some cases (possibly pertaining to modified instances of recurring events) Microsoft calendars assign the same event a new UID each time the feed is reloaded. (There was also a bug in the plugin’s logic that was causing the wrong event’s data to get inserted into the download when this UID mismatch occurred, rather than just failing altogether.) This update resolves the mismatched data bug, as well as adding fallback logic to match events by title, start date/time and end date/time when no UID match is found in the feed.
  • Performance:
    • Added r34ics_display_calendar_force_reload filter to allow bypassing the new rate limit related restrictions added in 12.0.0. Please do not use this filter unless you understand the performance impact it may have. By default, ICS Calendar intentionally throttles how frequently requests are made to the source calendar. This is done both to improve your site performance and to avoid hitting source calendar providers‘ rate limits, which can result in HTTP 429 errors and failure to load your calendar. (In some extreme cases, providers may rate limit entire networks.) If you have any questions about whether or not it is appropriate to use this filter with your site, please contact support before proceeding.
  • Plugin conflicts:
    • Worked around conflict with Loco Translate plugin by creating symlinks to ICS Calendar’s general language translation files with locale-specific names in the WP_LANG_DIR path when Loco Translate is active. (Normally, the general language files self-contained within ICS Calendar load directly, but Loco Translate overrides this functionality.)
  • Miscellaneous:
    • Refactored instances of directly checking the active_plugins core option to use the is_plugin_active() function instead.

12.0.2 – 2026.01.16

  • Event descriptions:
    • Modified r34ics_maybe_make_clickable() function to convert raw image file URLs in event descriptions directly into HTML img tags, instead of clickable links. May be a useful workaround for including images in event descriptions for sources like Google Calendar and Microsoft 365, which do not make files directly accessible. _Note: The URL must be a direct URL to a publicly accessible image file, with a standard image extension (supported extensions: .apng, .avif, .gif, .jpg, .jpeg, .png, .svg). Using a URL that links to Google Drive, OneDrive, iCloud, Dropbox, etc. will not work, because those are permission-restricted „wrapper“ page URLs, not the direct URLs of the files themselves.
  • Miscellaneous:
    • Added fallback values for possibly undefined keys in R34ICS::display_calendar_date_range() method. (There is no evidence that this was actually an issue but it’s best practice and may help with resolving a date range issue affecting certain users.)
    • Added SVG tag support to r34ics_color_key_allowed() function to allow SVG images to be included in the legend (color key). Mainly used by ICS Calendar Pro for the Subscribe button.
    • Changed legend to use --r34ics--element--events--color text color (the same as events).
    • Other minor CSS tweaks.
    • Added phpcs:ignore WordPress.WP.I18n.MissingTranslatorsComment to a translation string in admin page to pass Plugin Check test.

12.0.1 – 2026.01.06

  • Admin: Updated Pro version promo block.
  • i18n: Aktualizace jazykových proměnných.

12.0.0.1 – 2026.01.05

  • Added conditional to avoid a potential fatal error in the r34ics_scrub_duplicate_uids() function. (This function runs only when the fixredundantuids parameter is set.)
  • Added $force_reload parameter to R34ICS::display_calendar() method.
  • Removed CSS that causes event time and title not to appear in description hover box on mobile.

12.0.0 – 2025.12.29

  • Admin:
    • Added Allow access to these ports setting to allow defining custom HTTP ports for feed requests. Useful if your source calendar server uses a custom port number and you are having trouble retrieving the feeds.
    • Added Pause Calendars button (under Utilities) to temporarily shut off all ICS Calendar output on front-end pages.
    • Added Register Customizer setting to enable the Customizer on Block Themes, for users who may want to add their own custom CSS without editing their theme files. (Note: The WordPress core team is phasing out support for the Customizer so this may eventually stop working.)
    • Added r34ics_admin_full_access() function for Multisite-aware restriction of access to Administrator-only features, and r34ics_admin_access() function for configurable level of access to all admin features.
    • Changed default access level from Author to Editor; added Minimum access role setting to make this configurable.
    • Fixed issue with settings page loading scrolled partially after saving changes.
    • Fixed possible false negatives on valid feed URL status with ICS Feed URL Tester utility.
    • Refactored admin page template files.
    • Removed Also reset all ICS Calendar settings checkbox on Clear Cached Calendar Data utility for non-Administrators.
    • Removed System Report tab for non-Administrators, since only Administrators can access the System Report.
    • Various design and layout refinements on Settings and Help screens.
  • AJAX:
    • Removed Always use AJAX to render calendars option; AJAX is now automatic unless ajax="false" is explicitly added to the shortcode.
  • Color:
    • Deprecated whitetext shortcode parameter. Use Dark Mode setting on ICS Calendar Settings page instead, or darkmode="true" on individual shortcodes.
    • Fixed some inconsistencies with text colors.
    • Lightened background tints of color-coded feed events for better text contrast.
  • CSS:
    • Extensively restructured CSS for greater efficiency (especially making use of the :is() pseudo-element).
    • Moved most color specifications to CSS variables for easier customization.
    • Updated handling of word-break and hyphens to eliminate vendor prefixes and undesirable break-all setting.
  • Developer:
    • Added r34ics_url_get_contents_request_args filter.
    • Added support for overriding default calendar templates by creating an ics-calendar folder within your theme or child theme, and placing appropriately named replacement files (e.g. calendar-month.php) in that folder. Developers who wish to override templates are encouraged to copy the existing template to use as a starting point.
  • Event Downloads (eventdl):
    • Modified handling of recurring events in the event download link, so the download now contains only the single selected instance of the event, rather than the full recurrence set.
  • Month/Week Views:
    • combinemultiday now defaults to true.
  • Performance:
    • Added r34ics_rate_limit_check() function to identify situations where calendars may be hitting rate limits, and display an admin notice with recommended steps to remedy the situation.
    • Added conditional before r34ics_url_uniqid_update() calls in R34ICS::_url_get_contents() and R34ICS::_url_get_contents_legacy(), to run it only if we’ve verified the URL returns iCalendar formatted data. Also added r34ics_url_uniqid_delete() to delete individual feed URLs from the list.
    • Due to observed issues with some sites using reload in ways that exceed request rate limits, causing providers like Google Calendar to put temporary blocks on IP ranges, the reload option is now forced to a minimum value of 120 (2 minutes), unless debug is also set to 2 or higher. The reload option is intended for troubleshooting only. If your calendar updates more frequently than once per hour, the best option is to change the Transient (cache) expiration setting to a lower value. Recommended value: 300 (5 minutes).
  • Plugin Conflicts:
    • Elementor: Added jQuery code to re-run ICS Calendar’s initialization script when switching Elementor tabs. Resolves an issue where some calendars may not render properly in tabs.
  • Utilities:
    • Added „Also clear all saved ICS feed URLs“ option to ICS Calendar Data Cache utility. This allows for purging the list of previously retrieved feed URLs in addition to cached transient data. (Previously the only way to purge the list of feed URLs was to use the „Reset all ICS Calendar settings“ option.)
    • Updated status message output and fixed false negative bug with ICS Feed URL Tester utility.
  • Miscellaneous:
    • Added r34ics_reset_non_empty_defaults() function and associated filter for managing setting/resetting initial non-empty option values.
    • Added dynamic cookie handling when interacting with source servers that send cookies. May resolve an issue for Google Calendar users in Europe.
    • Changed most saved options to autoload = false.
    • Removed r34ics_curl_cookie_path() function and deprecated code that used it.
    • Refactored several functions and addressed various minor bugs.
    • Removed disused asset files.
    • Removed r34ics_curl_cookie_path() function and deprecated code that used it.
    • Renamed JS and CSS asset files to include -pro in the filenames. (To prevent confusion during development.)
    • Updated and reformatted System Report output.
    • Updated System Report formatting and added new settings fields.
    • Updated user agent string logic (v. 11.5.15.1) to include Google Calendar, and updated the base UA string.
    • Various other minor code refactoring throughout the plugin to address inefficiencies, improve organization, and resolve some PHP notices and warnings.
  • a11y:
    • Added tab support for help hover boxes on admin pages.
  • i18n:
    • Added new translations: Romanian, Serbian, Slovak, Turkish and Ukrainian.
    • Revised all translation strings for all languages. Please note: By necessity we are using machine translations. (Most strings are translated by DeepL; a few that produced errors with DeepL are cross-referenced with Google Translate.) If you find any translation errors, please let us know at the link below.
    • Streamlined language files to one default file per language, rather than separate files for each locale. Note: This will make translations available to many more locations, rather than defaulting to U.S. English if a file for a specific language and locale were not previously present. However, the new translations may be slightly less accurate for specific locales that previously had a dedicated file.
  • Vendors:
    • Incorporated recent ics-parser changes into our customized version.

If you identify any translation issues, please use our Translation Suggestions form to contact us.

11.7.0.4 – 2025.12.08

  • Performance:
    • Due to observed issues with some sites using reload in ways that exceed request rate limits, causing providers like Google Calendar to put temporary blocks on IP ranges, the reload option is now forced to a minimum value of 120 (2 minutes), unless debug is also set to 2 or higher. The reload option is intended for troubleshooting only. If your calendar updates more frequently than once per hour, the best option is to change the Transient (cache) expiration setting to a lower value. Recommended value: 300 (5 minutes).

11.7.0.3 – 2025.11.30

  • Added dynamic cookie handling when interacting with source servers that send cookies. May resolve an issue for Google Calendar users in Europe. If you are experiencing this issue, please note that it may take up to 24 hours after you apply this update for your calendars to reappear. Your feedback is requested. Also please note that these changes only apply if you have the legacy feed request method turned off. That feature is deprecated and will not be receiving further feature updates. If you are currently using the legacy feed request method, you are encouraged to try turning it off and see if your site is now able to load feeds with the standard method.
  • Added r34ics_get_all_options() function to retrieve all ICS Calendar options for the admin utility Clear Cached Calendar Data with the Also reset all ICS Calendar settings option checked. There is currently no way (even with filters) to force the WP core function wp_load_alloptions() to retrieve non-autoload options. (See this note for details. It’s unclear whether this is a performance-focused intentional decision or a bug in the core wp_autoload_values_to_autoload() function.)
  • Removed r34ics_curl_cookie_path() function and deprecated code that used it.

11.7.0.2 – 2025.11.28

  • Appended real user agent string when retrieving feeds from Google Calendar.

11.7.0.1 – 2025.10.29

  • Delayed application of r34ics_shortcode_defaults_new_10_6 filter until other plugins are loaded.

11.7.0 – 2025.10.27

  • schema.org structured data: BETA
    • Added jsonld shortcode parameter (and related r34ics_event2jsonld() function) for adding JSON-LD structured data to calendar output. This is still a beta/experimental feature. We have confirmed that our generated test code passes validation, but we need to observe some real-world testing to determine whether or not the output needs additional refinements to match Google’s expectations for structured event data. This feature is off by default. To use it, add jsondl="true" to your shortcode. And please send your feedback on how it works for you! IMPORTANT: Because Google requires each event in the structured data to have a designated URL, only events that have a URL are included in the structured data ICS Calendar generates. (See Google’s documentation for more information.)
  • Miscellaneous:
    • Aktualizováno „Testováno do“ na 6.6.

11.6.0 – 2025.10.10

  • Print: BETA
    • Added print shortcode parameter, which will add a print button at the top of your calendar. Use print="true" to print the calendar with basic event info (time and event title), or print="descriptions" to include all event descriptions. (This works independently of how the event descriptions appear on-screen.) Important: You MUST be using AJAX to render your calendar to use the print parameter. You can accomplish this either by adding ajax="true" to your shortcode, or by turning on the Always use AJAX to render calendars setting.
    • Improved print CSS, now retains calendar colors. Note: It is impossible for us to test all potential site configurations; if you experience problems with the new print colors, please submit a support request.
  • Dark Mode: BETA
    • Resolved conflicts that mostly broke dark mode after adding new element-based CSS variables in v. 11.5.15.
  • i18n:
    • Updated translation strings.
    • Added missing en_GB translation files. (Introduced in v. 11.5.17.4 but inadvertently omitted from repository.)

The print and dark mode features are currently considered BETA and are subject to change.

Full Changelog

Changelog truncated here due to WordPress repository requirements. Please see changelog.txt for older logs.