# iCalendar: háttérfrissítés, eltolás és exportálás

> Az iCalendar-hírcsatornák frissítése cron-feladattal, a kezdő és záró dátum eltolása, és az iCalendar-események exportálása.

Ez a fejezet az iCalendar import és export haladó beállításait gyűjti össze. Az alapok az [iCalendar import és export](https://hub.hellowp.io/hu/plugins/wp-booking-system-premium/naptarak-ical/) fejezetben vannak.

## Háttérfrissítés cron-feladattal

Az iCalendar-hírcsatornák akkor frissülnek, amikor betöltődik egy naptár, és a gyorsítótárazott csatorna lejárt. Ez a legtöbb webhelyen megfelel. Ha viszont sok naptárad van, és mindegyik több csatornát importál, az oldalbetöltés lelassulhat.

Ilyenkor a frissítést a háttérbe teheted, hogy ne érintse az oldalak sebességét. Állíts be egy cron-feladatot (a tárhelyed vagy a szervered ütemezőjében), amely rendszeresen betölti ezt a címet:

```text
https://sajatoldalad.hu/?wpbs-refresh-ical
```

Cseréld le a `sajatoldalad.hu` részt a saját webhelyed címére.

## Eltolás az iCalendar-csatornákon

A bővítmény importja a nagy foglalási platformokkal (Booking.com, Airbnb, Tripadvisor, Homeaway és hasonlók) működik. Néhány oldal azonban kissé eltérő formátumban exportálja a csatornát, ezért a foglalás egy nappal korábban kezdődhet, vagy egy nappal később végződhet a kelleténél.

Ezt a kezdő vagy a záró dátum eltolásával javíthatod. Add hozzá a sablonod `functions.php` fájljához az egyik vagy mindkét szűrőt:

```php
// A kezdő dátum eltolása
add_filter('wpbs_ical_import_from_url_offset_start', function () {
    return '+1 day'; // vagy -1 day
});

// A záró dátum eltolása
add_filter('wpbs_ical_import_from_url_offset_end', function () {
    return '+1 day'; // vagy -1 day
});
```

A visszatérési érték `+1 day` vagy `-1 day`, attól függően, melyik irányba kell tolni a dátumot.

## iCalendar-események az exportfájlban

Alapból az iCalendar-események nem kerülnek bele az exportált `.ics` fájlba. Ha két csatornát szinkronizálsz egymással, ez azért jó, mert az importált események a naptáron átfedésként jelennek meg, és felülírnák az eredeti eseményeket.

Ha ennek ellenére bele akarod venni őket, add hozzá ezt a `functions.php` fájlhoz:

```php
add_filter('wpbs_export_calendar_include_icalendar_events', function () {
    return true;
});
```
