ICS Calendar

Popis

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.

Malé množství dodatečného textu zobrazeného na front-endu generovaného pluginem je ve výchozím nastavení na americkou angličtinu, ale podporuje také následující překlady: čínština, dánština, holandština, estonština, finština, francouzština, němčina, řečtina, maďarština, italština, japonština, korejština, lotyšština, litevština, norština, polština, portugalština, ruština, španělština a švédština.

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.

Third-party caching plugins may interfere with ICS Calendar’s feed syncing. If you are using a caching plugin and your calendar is not updating, try using the AJAX option in your shortcode.

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

30. 3. 2024
i love the flexibility and adaptability that is possible with this calendar plugin. We run a Google calendar in list view (agenda), but the public view in our website is gorgeous. We've tweaked all the font sizes, added SVG icons. The fact that it picks up html and CSS from the information section in Google Calendar makes this extremely flexible. Thank you so much.
16. 2. 2024
Lots of functionality in the free version, intuitive, and the plugin author responds in support forum. Can't ask for much more than that. Thank you!
21. 11. 2023
I've been wanting to use an embedded Google Calendar in our nonprofit's website so volunteers could update the info but it's just too plain and ugly. ICS Calendar solves that and the free version has plenty of options for us. Upgrade to Pro is very reasonable but I can't find a reason why we would need that. Thanks to the devs!
6. 11. 2023
Out of the box the plugin looked and functioned amazingly without the need to too much additional styling. Developing the shortcodes was very easy and great options for various configurations. Their support team has been extremely responsive and very helpful to get us up and running. I highly recommend!
14. 7. 2023
The best thing about this plugin is not how easy it is to use, nor how well it works, but the support offered by its creators.It's great!
Přečtěte si všech 60 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

11.0.0.1 – 2024.04.18

  • Fixes an issue with HTTP headers in the new method of retrieving ICS feeds. The issue was hotfixed approximately one hour after the initial release, but some sites may have picked up the update within that hour. This update also increases the timeout from 5 to 30 seconds, to address potential issues with retrieving very large ICS files.

11.0.0 – 2024.04.18

PLEASE NOTE: This version includes a significant rewrite of the function that retrieves the contents of ICS feed URLs. It is now using the built-in wp_remote_get() WordPress function (instead of PHP cURL and fopen functions as before), so it should be fully compatible with all existing installations. However, if you encounter any new issues, please visit the WordPress Support Forums for assistance.

  • Admin Settings:
    • Added Allow access to these hostnames that resolve to reserved IP addresses setting. This allows sites to access calendar servers on the same physical IP address as the web server, or within the same internal network. Previously this needed to be handled using custom PHP code as outlined in this blog post.
  • Code Refactoring:
    • Replaced previous cURL and fopen logic with wp_remote_get() in R34ICS::_url_get_contents() method. Correspondingly, deprecated the curlopts and method parameters. Note: The second and fourth parameters of the protected method R34ICS::_url_get_contents() were removed rather than deprecated. No external plugins should be using this method other than ICS Calendar Pro, which has been correspondingly updated.
    • Removed admin notice checking for presence of cURL or fopen functions.
  • WordPress Playground:
  • Miscellaneous:
    • Added missing fourth parameter to r34ics_event_description_html action.
    • Changed Room 34 Creative Services logo link on admin page sidebar.
    • Fixed PHP warning in r34ics_system_report() in rare situations where get_option('active_plugins') returns a plugin that is not included in get_plugins(). (May occur if the plugin has been manually removed from the file system.)
    • Modified R34ICS::event_description_html() to handle $event['start_time'] and $event['end_time'] as alternatives to $event['start'] and $event['end'].
    • Updated header details in ics-calendar.php.
  • a11y:
    • Changed CSS for .ics-calendar-arrow-nav > *.inactive to completely hide inactive arrow navigation elements (e.g. „Previous“ while on first month, „Today“ while on current month, etc.) rather than screening back their opacity. Modified jQuery corresponding to these elements to dynamically add aria-hidden="true" when inactive class is added.
  • i18n:
    • Added and updated translation strings.
  • Bumped ‚tested up to‘ version to 6.5.2.

10.14.1.5 – 2024.04.05

  • AJAX:
    • Fixed logic that replaces FILTER_SANITIZE_STRING (introduced in version 10.13.1.1) to properly account for array values in shortcode parameters.
  • List and basic views:
    • Eliminated unnecessary JavaScript fade-in on load, except when pagination or ajax option is in use.

10.14.1.4 – 2024.04.01

  • General:
    • Fixed issue with extendmultiday where it would extend one-day events as well as multi-day events.
  • List and basic views:
    • Added detection of the „current“ page when pagination is turned on. The page will now automatically load with the page containing the current date displayed, instead of the first page, making list and basic views with pagination more useful when pastdays is set to include past events in the list. (Note: The pagination is set independently of the date, so it’s possible the page may still load with a few past events displaying before the current date’s events, but the current date’s events will be on the page.)
    • Minor template code refactoring.
  • Month and week views:
    • Added call to r34ics_show_hide_headers() function when clicking „Show past events“ on mobile, as a possible solution to a client-side issue with date headers not displaying when the window is left open over a break between months. (Due to the nature of the bug, it can only be tested at the transition between months.)

10.14.1.3 – 2024.03.08

  • AJAX:
    • Added failure handling that will retry the AJAX request up to 5 times in situations where the AJAX response is only 1 instead of the proper calendar HTML output. After the fifth failure, AJAX will report ICS Calendar AJAX request failed for element... to the JavaScript console. (Previous versions would fail in this way after one attempt.)
  • Bug fix:
    • Modified conditional introduced in version 10.14.1.2, to resolve possible Undefined array key "VALUE" PHP warnings.
  • Misc:
    • Removed unnecessary global $wp_locale; line from all templates.
    • Added changelog.txt and moved older changelogs to that file; truncated changelog in readme.txt to comply with WordPress repository requirements.
  • Bumped ‚tested up to‘ version to 6.5.

10.14.1.2 – 2024.03.06

  • Added a workaround for a possible issue with the ics-parser library on recurrence exclusions (EXDATE) where excluded event dates are still being included in the output array.
  • Updated embedded ics-parser library to v. 3.3.1 (carrying over existing modifications).

10.14.1.1 – 2024.02.21

  • JavaScript:
    • Replaced wp_localize_script() with the now-preferred wp_add_inline_script() in R34ICS::enqueue_scripts() method. Fixes an issue where the „localized“ script was not actually rendering in the page in some situations.
    • Modified logic that hides „Show past events“ on mobile month/week views, when there are no past events in the current month, to account for the .month_list_all class (an ICS Calendar Pro-only feature).

10.14.1 – 2024.01.25

  • Added Remove „Add ICS Calendar“ button in Classic Editor admin option to leverage the existing r34ics_display_add_calendar_button action without the need for custom PHP code.
  • Added r34ics_purge_calendar_transients action to allow external cleanup functions to fire off on the Clear Cached Calendar Data utility.
  • JavaScript: added type casting to r34ics_boolean_check() function to prevent occasional AJAX loading errors.
  • i18n: New translation strings.

10.14.0 – 2024.01.11

  • AJAX:
    • Encapsulated AJAX client-side logic in a new r34ics_ajax_init() function, and added r34ics_ajax_start and r34ics_ajax_end events.
    • Two changes to address the issue of AJAX requests occasionally outputting only „1“ instead of the calendar:
    1. Added a check on the R34ICS::display_calendar() method for transient data containing only „1“ instead of the calendar, bypassing the transient cache if true.
    2. Added handling to the AJAX output itself to suppress display of the „1“ if it still occurs, and write an error message to the console. We are still investigating the root cause of this issue.
  • JavaScript:
    • Added JavaScript version of r34ics_boolean_check() function.
  • List view:
    • Added text underline to events that have a clickable description when the toggle option is turned on, to give users a visual cue.

10.13.1.1 – 2023.12.16

  • AJAX: Replaced FILTER_SANITIZE_STRING, deprecated in PHP 8.1, with a new sanitization method, and added conditional to prevent processing the AJAX output if URL is missing.

10.13.1 – 2023.12.08

  • Basic view:
    • Switched event layouts to use CSS flexbox instead of float, to address issues where long event titles may force all text to wrap below the date block.
    • Additional minor CSS adjustments.
  • Month view:
    • Added „Today“ link to header navigation. Requires monthnav to be set to an option that includes the previous/next arrows (all except the default select).
    • Fixed bug that would prevent „Show past events“ link from appearing in mobile breakpoint under certain conditions.
  • i18n: Added new translation strings.

10.13.0.2 – 2023.12.04

  • Added missing logic to turn off caching if debug="3" is set; refactored logic for setting reload value.
  • Adjusted CSS for event hover effects to improve performance in some views in the Pro version.
  • Narrowed jQuery selector scope for pagination logic in List and Basic views, to fix a conflict with some views in the Pro version.

10.13.0.1 – 2023.11.28

  • Fixed a display bug introduced in v.10.13.0 that would cause broken HTML code to appear directly on the page for some sites. (The default values for the new htmltageventtitle and htmltageventdesc parameters were not being set correctly for sites with the Use new parameter defaults (v.10.6) setting turned off.)
  • Renamed new r34ics_filter_allowed_heading_tags() function to r34ics_allowed_heading_tags_check(), since it’s not technically a filter.
  • Hotfix: Added .event-info wrapper element in Basic view to prevent longer event descriptions from wrapping below the floating date block element.

10.13.0 – 2023.11.27

  • New Features:
    • Added new „Basic“ view. Use view="basic" in your shortcode. This is a variant of List view that does not group events by date/month. By default, the date of each event is displayed in a prominent date box. For a „true“ basic view, also add nostyle="true" to your shortcode. This view supports most of the same parameters (and associated functionality) as List view, including count, pagination, color, eventdesc and toggle.
    • All views: Added <span> wrapping of date elements (day of week, month, day number, year, etc.) with a new data-date-format attribute on each tag. Allows for custom styling of the components of a date. This feature is used for the date boxes in the new Basic view, but also allows for custom styling of List view.
  • New shortcode parameters:
    • htmltageventdesc: Sets the HTML tag used for the .eventdesc element on events.
    • htmltageventtitle: Sets the HTML tag used for the .title element on events.
    • htmltagtime: Sets the HTML tag used for the .time element.
    • nostyle: Turns off most of Basic view’s default HTML styling for a „true“ basic view that you can customize with your own CSS. (Currently has no effect on any other views.)
  • New filter:
    • r34ics_display_add_calendar_button: Use with the __return_false function to turn off the „Add ICS Calendar“ button in Classic Editor.
  • Functionality changes:
    • The paginationposition parameter in List and Basic views now defaults to above rather than below.
    • Minor code refactoring in templates/calendar-list.php and functions.php.

10.12.2 – 2023.11.13

  • Admin Utilities:
    • Removed raw data output from ICS Feed URL Tester utility.
    • Minor refactoring of r34ics_system_report() function.
  • Security:
    • Streamlined URL validation code added in v.10.12.0.4 to remove redundant custom logic, and instead rely on the WP core [wp_http_validate_url()](https://developer.wordpress.org/reference/functions/wp_http_validate_url/) function. This change also adds the ability for site developers to use the [http_request_host_is_external](https://developer.wordpress.org/reference/hooks/http_request_host_is_external/) filter to selectively grant access to specific internal network URLs, e.g. for retrieving ICS feeds from locally hosted mail/calendar servers.
    • Restricted debugging data collection to users with the Administrator role, and removed raw retrieved URL data from all debugging tools.
  • i18n:
    • Updated translation strings.
  • Vendors:
    • Updated ICS Parser library to 3.3.1 (with modified namespace, as usual, to avoid plugin conflicts).

10.12.1 – 2023.11.06

  • Bug fix: Corrected CSS logic for combinemultiday that would incorrectly display event titles if site’s Week starts on value was anything other than Sunday.
  • CSS: Tweaks to compact in Month and Week views.
  • Hooks: Added r34ics_eventdesc_include_time_and_title filter. This allows for additional external conditionals to determine whether or not the time and title for events should be included in the .eventdesc element.
  • Misc: Removed a few redundant lines of code.

10.12.0.4 – 2023.10.30

  • Added an extra security check for extremely rare conditions where the security fix added in versions 10.12.0.2 and 10.12.0.3 may not have been adequate. This fix has been backported to all earlier affected versions of the plugin in the repository.

10.12.0.3 – 2023.10.24

  • Critical bug fix: Addresses an additional condition of the same issue first addressed in 10.12.0.2. This is not a second bug, rather a more thorough and effective solution to the same bug. This fix has been backported to all earlier affected versions of the plugin in the repository.
  • Drobné změny v kódu.

10.12.0.2 – 2023.10.23

  • Critical bug fix: Addresses a security issue identified in earlier versions of the plugin. Per best practices we are not identifying the specific details of the issue or the fix. This fix has been backported to all earlier affected versions of the plugin in the repository.
  • Removed unnecessary retrieval of /etc/issue file contents from r34ics_system_report() function. (This is unrelated to the critical bug fix noted above.)

10.12.0.1 – 2023.10.16

  • Bug fix: Added stopPropagation() to jQuery logic for toggle feature. The modified selector added in version 10.12.0 was inadvertently causing the code to run twice (instantly re-closing the toggle) when clicking on the event title itself.

10.12.0 – 2023.10.06

  • a11y: Added tabindex="0" to all events and corresponding CSS changes to make event hover descriptions tab-accessible. Note: We are still troubleshooting some issues with tabbing to links contained within the description block. However, we are releasing this feature as-is due to the immediate accessibility improvements it can offer.
  • Developer: Removed deprecated filter names.

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