Install
This is the repository archive. It installs, but the folder name will carry the branch suffix and updates will not flow.
Install straight from GitHub with WP-CLI:
wp plugin install https://github.com/ivicastasuk/isw_events/archive/refs/heads/main.zipAdvanced, modular event management for WordPress.
- Current version: 2.4.1
- Languages: English (default), Serbian Latin (
sr_RS) - License: GPL-3.0
- Requirements: WordPress 6.2+, PHP 8.1+
English
ISW Events Manager is a complete WordPress event platform with recurring events, calendars, sliders, registrations, WooCommerce tickets, email reminders, frontend submissions, builder integrations, data portability, REST API access, and signed webhooks.
The plugin uses an indexed occurrence table for fast chronological queries while keeping WordPress posts and metadata as the primary source of truth.
Highlights
- Event custom post type with title, editor, excerpt, featured image, and media gallery
- One-time, multi-day, all-day, and recurring events
- Per-event timezone support
- Physical, online, and hybrid formats
- Event categories, tags, reusable venues, and organizers
- AJAX calendar navigation and filterable event directories
- Responsive Swiper slider with a static fallback when there are too few events
- Premium global calendar, card, and slider navigation controls
- Built-in single-event templates
- Email reminders 24 hours before an event
- Double opt-in registrations, capacity limits, and waitlists
- Optional WooCommerce ticket sales and QR check-in
- Frontend community submissions and user dashboard
- Gutenberg, Elementor, and Avada integrations
- Schema.org Event structured data and iCalendar support
- UTF-8 CSV import/export with stable UUID matching
- Optional public REST API and HMAC-signed webhooks
- Shared ISWorkshop HUB admin-menu integration
- English and Serbian Latin localization
Core event model
Each event supports:
- Start date and time
- Optional end date and time
- All-day mode
- Per-event timezone
- Location and reusable venues
- Organizers
- Physical, online, or hybrid format
- Online event URL
- Price
- Scheduled, postponed, cancelled, and sold-out states
- Featured event flag
- Categories and tags
- Multiple gallery image IDs stored in WordPress post metadata
- Per-event single-page template
Past events are excluded from calendars, sliders, lists, and agendas by default. Use show_past="true" when historical events should be included.
Recurring events
The occurrence engine supports:
- Daily recurrence
- Weekly recurrence
- Monthly recurrence
- Yearly recurrence
- Custom dates
- Recurrence interval
- Maximum occurrence count
- End date
- Excluded dates
- Up to 500 generated occurrences per event
Occurrences are stored in the indexed {prefix}isw_event_occurrences table for efficient date-range queries.
Display options
Calendar
[isw_calendar]
[isw_calendar show_past="true"]
The calendar is rendered initially by PHP. Previous and next month navigation uses a nonce-protected AJAX endpoint and does not reload the page.
Event slider
[isw_event_slider autoplay="true" loop="true" items_per_view="3"]
[isw_event_slider show_past="true" items_per_view="4"]
Supported attributes:
| Attribute | Default | Description |
|---|---|---|
autoplay |
true |
Enables or disables autoplay |
loop |
true |
Enables looping when enough events exist |
items_per_view |
3 |
Number of visible cards, from 1 to 6 |
show_past |
false |
Includes past events |
When the number of events is equal to or lower than items_per_view, Swiper is not initialized. Cards become a responsive static grid that fills the available width.
Events without a featured image receive a deterministic gradient placeholder.
Filterable list
[isw_event_list]
[isw_event_list filters="false" category="conferences" format="online"]
Agenda
[isw_event_agenda]
[isw_event_agenda show_past="true"]
List and agenda attributes:
| Attribute | Default | Description |
|---|---|---|
show_past |
false |
Includes past events |
filters |
true |
Displays AJAX filters |
category |
empty | Event category slug |
search |
empty | Initial search term |
format |
empty | physical, online, or hybrid |
venue |
0 |
Venue post ID |
date_from |
empty | Start of date filter, YYYY-MM-DD |
date_to |
empty | End of date filter, YYYY-MM-DD |
Available frontend filters include keyword, category, format, venue, and date range.
Single-event pages
Every event can use one of the following templates:
- Classic — featured image, content, details, and gallery
- Hero — large featured-image hero section
- Minimal — content-focused layout
- Active theme template — keeps the theme template and appends ISW event modules
Single-event pages can include:
- Event details and gallery
- Registration or ticket section
- 24-hour email reminder form
- iCalendar download
- Modern previous/next event navigation
Card titles and “View details” buttons always open the event permalink.
Calendar and card design settings
Settings are available under:
ISWorkshop HUB → ISW Events
General
- Primary color
- PHP date format
Calendar
- Show or hide weekends
- First day of the week
- Elevated, minimal, or bordered style
- Background, header, text, muted, border, and event colors
- Border radius
- Day-cell height
- Live visual preview
Card Style
- Background, text, metadata, border, and button colors
- Image aspect ratio
- Font size and content padding
- Border radius and shadows
- Hover and image zoom effects
- Gap between slider cards
- Natural or equal card height
- Navigation visibility: always, hover only, or hidden
- Button or plain-arrow navigation style
- Arrow size, icon size, radius, border, colors, offsets, transitions, and transforms
- Live visual preview
The settings sanitizer preserves values from inactive tabs, preventing one tab from resetting another tab’s options.
Registrations
Per-event registrations support:
- Email confirmation with double opt-in
- Capacity limits
- Multiple places per registration
- Registration deadlines
- Automatic waitlist
- Promotion from waitlist when space becomes available
- Secure self-service cancellation
- Administrator attendee management
- CSV export
- WordPress personal-data export and erase tools
Registration data is stored in {prefix}isw_event_registrations.
WooCommerce tickets
WooCommerce is optional. All non-ticket features work without it.
When WooCommerce is active, event editors can:
- Create free or paid ticket tiers
- Define stock and purchase limits
- Configure sales windows
- Bind a ticket tier to a recurring occurrence
- Use WooCommerce checkout, taxes, payments, and order processing
- Issue one unique attendee ticket per purchased quantity
- Generate printable ticket pages with QR codes
- Scan check-in URLs
- Detect duplicate check-ins
- Undo check-ins and reissue tickets
- Export attendee data as CSV
Ticket and attendee data is stored in:
{prefix}isw_event_tickets{prefix}isw_event_attendees
Ticket output can also be rendered manually:
[isw_event_tickets]
[isw_event_tickets event_id="123"]
Email reminders
Visitors can request a reminder from a single-event page. WordPress Cron checks upcoming occurrences and sends the message approximately 24 hours before the selected event begins.
For reliable delivery on low-traffic sites, configure a real server cron job to trigger WordPress Cron and use a properly configured transactional email provider.
Community submissions
Enable Community features under:
ISWorkshop HUB → ISW Events → Community
Submission form:
[isw_event_submit]
Logged-in user dashboard:
[isw_event_dashboard]
Community features include:
- Frontend create and edit forms
- Registered-user ownership
- Optional guest submissions
- Private SHA-256 guest edit tokens
- Pending-review or immediate-publish workflow
- Administrator email notifications
- Honeypot and nonce protection
- IP-based hourly rate limiting
- Required terms/privacy page
- Featured-image upload validation
- User event dashboard
- Event cancellation
- Automatic occurrence synchronization
Assign the page containing [isw_event_submit] in Community settings so guest management links always resolve to the correct page.
Builder integrations
Gutenberg
The dynamic ISW Events block is registered with register_block_type() and provides InspectorControls for:
- Grid, slider, list, or agenda layout
- Card style
- Items per view
- Autoplay
- Past-event visibility
Elementor
The ISW Events widget provides:
- Grid, slider, list, and agenda layouts
- Slider speed, autoplay, and cards-per-row controls
- Past-event visibility
- Card and accent color controls
Avada / Fusion Builder
The ISW Events element mirrors the main Elementor layout, slider, color, and past-event controls.
SEO and calendar feeds
The plugin provides:
- Schema.org
EventJSON-LD on single-event pages - Per-event
.icsdownloads - Public iCalendar subscription feed:
https://example.com/events-feed.ics
If the feed returns a 404 after activation, visit Settings → Permalinks and save once to refresh rewrite rules.
Import and export
Open:
ISW Events → Import / Export
The UTF-8 CSV format includes:
- Content and excerpt
- Slug and publication status
- Start, end, timezone, and all-day state
- Format, location, online URL, and price
- Event state and featured flag
- Recurrence settings
- Categories and tags
- Stable event UUID
Imports match existing events by UUID. Legacy CSV files without a UUID may fall back to the WordPress event ID. Imported events automatically rebuild their occurrence records.
Maximum import size is 5 MB, with up to 5,000 processed rows per request.
REST API
The public REST API is disabled by default. Enable it under:
ISWorkshop HUB → ISW Events → Integrations
Endpoints:
GET /wp-json/isw-events/v1/events
GET /wp-json/isw-events/v1/events/{id}
Collection parameters:
| Parameter | Default | Description |
|---|---|---|
page |
1 |
Result page |
per_page |
20 |
Results per page, maximum 100 |
from |
current time | Beginning of the occurrence range |
to |
five years ahead | End of the occurrence range |
show_past |
false |
Allows historical occurrences |
Responses expose event UUID, content, permalink, format, status, dates, timezone, next occurrence, location, price, featured image, categories, and tags.
Authenticated WordPress editors can use the endpoints even when public access is disabled.
Signed webhooks
Webhooks can be sent for:
event.createdevent.publishedevent.updatedevent.cancelledevent.postponed
Deliveries are queued through WordPress Cron and sent as JSON POST requests. If a signing secret is configured, the signature is sent in:
X-ISW-Signature: sha256=<hex-digest>
Verification example:
$expected = 'sha256=' . hash_hmac('sha256', $raw_request_body, $secret);
$valid = hash_equals($expected, $_SERVER['HTTP_X_ISW_SIGNATURE'] ?? '');
The Integrations tab displays the latest webhook event, HTTP status, and response message.
ISWorkshop HUB compatibility
ISW Events uses the shared isworkshop-hub parent slug.
- The first active ISWorkshop plugin creates ISWorkshop HUB
- Every current or future ISWorkshop plugin adds only its settings submenu
- Duplicate HUB entries are removed automatically
- The HUB is hidden when the current user cannot access any child page
- ISW Events content-management pages remain under the separate ISW Events menu
Performance
- Occurrence date ranges use an indexed custom table
- Frontend scripts and styles are loaded only when the relevant shortcode, block, template, or module is rendered
- Swiper is not loaded for static sliders
- Event images use WordPress attachment IDs and lazy loading
- AJAX requests use nonces
- Past-event filtering uses occurrence data instead of comparing display-formatted dates
Security and privacy
The plugin uses:
- WordPress capabilities and nonces
- Strict input sanitization and escaped output
- Token hashes instead of raw guest-management tokens in the database
- Rate limiting and honeypots for guest submissions
- Safe remote requests for webhook delivery
- Optional HMAC-SHA256 webhook signatures
- Upload type and size validation
- WordPress privacy exporters and erasers for registration and ticket data
Installation
-
Copy the plugin directory to:
wp-content/plugins/isw-events -
Activate ISW Events Manager in WordPress.
-
Configure global options under ISWorkshop HUB → ISW Events.
-
Create events under ISW Events.
-
Add a shortcode, Gutenberg block, Elementor widget, or Avada element to a page.
-
If needed, save Settings → Permalinks once to refresh event and iCalendar routes.
WooCommerce must be installed and active only when paid ticket functionality is required.
Data storage
WordPress posts and post metadata remain the primary event source. The plugin creates the following optimized tables using the active WordPress database prefix:
| Table | Purpose |
|---|---|
{prefix}isw_event_occurrences |
Recurring and one-time occurrence index |
{prefix}isw_event_registrations |
Registration and waitlist records |
{prefix}isw_event_tickets |
WooCommerce ticket-tier definitions |
{prefix}isw_event_attendees |
Issued tickets and check-in records |
Deactivation preserves event and attendee data.
Project structure
isw-events/
├── assets/
│ ├── css/
│ └── js/
├── includes/
│ ├── integrations/
│ ├── class-isw-events.php
│ ├── class-isw-occurrences.php
│ ├── class-isw-registrations.php
│ ├── class-isw-tickets.php
│ ├── class-isw-community.php
│ ├── class-isw-data-integrations.php
│ └── class-isw-hub.php
├── languages/
├── templates/
├── tools/
├── isw-events-manager.php
├── readme.txt
└── README.md
Development checks
PHP syntax:
Get-ChildItem -Recurse -Filter *.php | ForEach-Object { php -l $_.FullName }
JavaScript syntax:
node --check assets/js/admin.js
node --check assets/js/frontend.js
node --check assets/js/block.js
Translation coverage and Serbian MO compilation:
node tools/check-translations.js
php tools/compile-mo.php languages/isw-events-sr_RS.po languages/isw-events-sr_RS.mo
License
ISW Events Manager is licensed under the GNU General Public License v3.0.
Srpski
ISW Events Manager je kompletna WordPress platforma za upravljanje događajima sa ponavljanjima, kalendarom, slajderima, prijavama, WooCommerce ulaznicama, email podsetnicima, frontend unosom, builder integracijama, prenosom podataka, REST API pristupom i potpisanim webhook-ovima.
Plugin koristi indeksiranu occurrence tabelu za brze hronološke upite, dok WordPress objave i meta podaci ostaju primarni izvor podataka.
Najvažnije mogućnosti
- Event custom post type sa naslovom, editorom, excerpt-om, istaknutom slikom i galerijom
- Jednokratni, višednevni, celodnevni i ponavljajući događaji
- Posebna vremenska zona za svaki događaj
- Fizički, online i hibridni događaji
- Kategorije, oznake, lokacije i organizatori
- AJAX navigacija kalendara i filtriranje događaja
- Responsive Swiper slajder sa statičnim prikazom kada nema dovoljno događaja
- Premium vizuelna podešavanja kalendara, kartica i navigacionih strelica
- Ugrađeni template-i single event stranice
- Email podsetnici 24 sata pre početka
- Double opt-in prijave, kapaciteti i liste čekanja
- Opciona prodaja ulaznica preko WooCommerce-a i QR prijava
- Frontend prijava događaja i korisnički dashboard
- Gutenberg, Elementor i Avada integracije
- Schema.org Event podaci i iCalendar podrška
- UTF-8 CSV uvoz/izvoz sa stabilnim UUID povezivanjem
- Opcioni javni REST API i HMAC-potpisani webhook-ovi
- Integracija sa zajedničkim ISWorkshop HUB admin menijem
- Engleska i srpska latinična lokalizacija
Model događaja
Svaki događaj podržava:
- Datum i vreme početka
- Opcioni datum i vreme završetka
- Celodnevni režim
- Vremensku zonu događaja
- Tekstualnu lokaciju i višekratno upotrebljive venue objave
- Organizatore
- Fizički, online ili hibridni format
- URL online događaja
- Cenu
- Zakazan, odložen, otkazan i rasprodat status
- Oznaku istaknutog događaja
- Kategorije i tagove
- Galeriju sa više ID-jeva slika iz WordPress medijateke
- Izbor single-page template-a
Prošli događaji se podrazumevano ne prikazuju u kalendaru, slajderu, listi i agendi. Za njihov prikaz koristite show_past="true".
Ponavljajući događaji
Occurrence engine podržava:
- Dnevno ponavljanje
- Nedeljno ponavljanje
- Mesečno ponavljanje
- Godišnje ponavljanje
- Proizvoljne datume
- Interval ponavljanja
- Maksimalan broj termina
- Datum završetka ponavljanja
- Izuzete datume
- Do 500 generisanih termina po događaju
Termini se čuvaju u indeksiranoj tabeli {prefix}isw_event_occurrences.
Shortcode prikazi
Kalendar
[isw_calendar]
[isw_calendar show_past="true"]
Početni prikaz generiše PHP, dok prethodni i sledeći mesec koriste nonce-zaštićen AJAX bez osvežavanja stranice.
Slajder
[isw_event_slider autoplay="true" loop="true" items_per_view="3"]
[isw_event_slider show_past="true" items_per_view="4"]
| Atribut | Podrazumevano | Opis |
|---|---|---|
autoplay |
true |
Uključuje automatsko pomeranje |
loop |
true |
Uključuje kruženje kada postoji dovoljno događaja |
items_per_view |
3 |
Broj vidljivih kartica, od 1 do 6 |
show_past |
false |
Prikazuje prošle događaje |
Ako broj događaja nije veći od items_per_view, Swiper se ne pokreće. Kartice postaju statičan responsive grid koji popunjava širinu elementa.
Događaj bez featured slike dobija automatski generisan gradient placeholder.
Lista i agenda
[isw_event_list]
[isw_event_list filters="false" category="konferencije" format="online"]
[isw_event_agenda]
[isw_event_agenda show_past="true"]
Podržani atributi:
| Atribut | Podrazumevano | Opis |
|---|---|---|
show_past |
false |
Prikazuje prošle događaje |
filters |
true |
Prikazuje AJAX filtere |
category |
prazno | Slug kategorije |
search |
prazno | Početni pojam pretrage |
format |
prazno | physical, online ili hybrid |
venue |
0 |
ID venue objave |
date_from |
prazno | Početak raspona, YYYY-MM-DD |
date_to |
prazno | Kraj raspona, YYYY-MM-DD |
Frontend filteri obuhvataju ključnu reč, kategoriju, format, lokaciju i raspon datuma.
Single event stranice
Dostupni template-i:
- Classic — featured slika, sadržaj, detalji i galerija
- Hero — veliki hero sa istaknutom slikom
- Minimal — fokus na sadržaju
- Active theme template — koristi template aktivne teme i dodaje ISW module
Single event stranica može sadržati detalje, galeriju, prijavu ili prodaju ulaznica, email podsetnik, iCalendar link i moderno dizajniranu navigaciju na prethodni/sledeći događaj.
Naslov kartice i dugme „Detaljnije“ uvek vode na permalink događaja.
Vizuelna podešavanja
Kompletna podešavanja se nalaze na:
ISWorkshop HUB → ISW Events
General
- Primarna boja
- PHP format datuma
Calendar
- Prikaz ili skrivanje vikenda
- Prvi dan u nedelji
- Elevated, minimal ili bordered stil
- Boje pozadine, zaglavlja, teksta, bordera i event elemenata
- Border radius
- Visina dnevne ćelije
- Vizuelni preview
Card Style
- Boje pozadine, teksta, meta podataka, bordera i dugmeta
- Odnos stranica slike
- Veličina fonta i padding
- Border radius i senka
- Hover i image zoom efekti
- Razmak između kartica
- Prirodna ili jednaka visina kartica
- Strelice stalno vidljive, samo na hover ili skrivene
- Dugme sa strelicom ili obična strelica
- Veličina, boje, border, offset, animacija i hover transformacija strelica
- Vizuelni preview
Sanitizacija čuva vrednosti neaktivnih tabova, pa snimanje jednog taba ne resetuje podešavanja drugog.
Prijave
Prijave za događaje podržavaju:
- Potvrdu email adrese
- Double opt-in
- Ograničenje kapaciteta
- Više mesta u jednoj prijavi
- Rok za prijavu
- Automatsku listu čekanja
- Prebacivanje sa liste čekanja kada se oslobodi mesto
- Bezbedno samostalno otkazivanje
- Administratorsko upravljanje
- CSV izvoz
- WordPress privacy export i erase alate
Podaci se čuvaju u {prefix}isw_event_registrations.
WooCommerce ulaznice
WooCommerce je opcioni dodatak. Sve funkcije osim prodaje ulaznica rade bez njega.
Kada je WooCommerce aktivan, moguće je:
- Kreirati besplatne ili plaćene tipove ulaznica
- Definisati zalihu i kupovna ograničenja
- Podesiti period prodaje
- Vezati ulaznicu za određeni ponavljajući termin
- Koristiti WooCommerce naplatu, poreze i obradu porudžbina
- Generisati jedinstvenu ulaznicu za svakog posetioca
- Prikazati i štampati ulaznicu sa QR kodom
- Skenirati check-in link
- Prepoznati duplu prijavu
- Poništiti check-in i ponovo izdati ulaznicu
- Izvesti podatke o posetiocima
Tabele:
{prefix}isw_event_tickets{prefix}isw_event_attendees
Ručni prikaz:
[isw_event_tickets]
[isw_event_tickets event_id="123"]
Email podsetnici
Posetilac može zatražiti podsetnik sa single event stranice. WordPress Cron proverava predstojeće termine i šalje email približno 24 sata pre početka.
Za pouzdano slanje na sajtovima sa malim prometom preporučuju se pravi server cron i pravilno konfigurisan transactional email servis.
Community unos događaja
Aktivira se na:
ISWorkshop HUB → ISW Events → Community
[isw_event_submit]
[isw_event_dashboard]
Mogućnosti:
- Frontend kreiranje i uređivanje
- Vlasništvo prijavljenog korisnika
- Opcione prijave gostiju
- Privatni SHA-256 token za uređivanje guest događaja
- Moderacija ili automatsko objavljivanje
- Email obaveštenje administratoru
- Honeypot i nonce zaštita
- IP rate limiting
- Obavezna stranica uslova i privatnosti
- Validiran upload featured slike
- Korisnički dashboard
- Otkazivanje događaja
- Automatska occurrence sinhronizacija
U Community podešavanjima izaberite stranicu koja sadrži [isw_event_submit].
Builder integracije
Gutenberg
Dinamički ISW Events blok podržava:
- Grid, slider, list i agenda prikaz
- Stil kartica
- Broj kartica
- Autoplay
- Prikaz prošlih događaja
Elementor
ISW Events widget sadrži kontrole za layout, brzinu slajdera, autoplay, broj kartica, prošle događaje i boje.
Avada / Fusion Builder
ISW Events element pruža iste ključne layout, slider i style opcije.
SEO i kalendarski feed
Plugin generiše:
- Schema.org
EventJSON-LD - Pojedinačne
.icsfajlove - Javni iCalendar subscription feed:
https://example.com/events-feed.ics
Ako feed nakon aktivacije vraća 404, otvorite Settings → Permalinks i jednom sačuvajte podešavanja.
Uvoz i izvoz
Otvorite:
ISW Events → Import / Export
UTF-8 CSV obuhvata sadržaj, excerpt, slug, status objave, datume, vremensku zonu, format, lokaciju, cenu, recurrence opcije, kategorije, tagove i stabilni UUID.
Uvoz prvenstveno povezuje događaje po UUID-u. Stariji fajlovi bez UUID-a mogu koristiti WordPress ID. Nakon uvoza se automatski ponovo generišu occurrence zapisi.
Maksimalna veličina fajla je 5 MB, a po zahtevu se obrađuje najviše 5.000 redova.
REST API
Javni REST API je podrazumevano isključen. Aktivira se na:
ISWorkshop HUB → ISW Events → Integrations
GET /wp-json/isw-events/v1/events
GET /wp-json/isw-events/v1/events/{id}
Parametri liste:
| Parametar | Podrazumevano | Opis |
|---|---|---|
page |
1 |
Stranica rezultata |
per_page |
20 |
Broj rezultata, maksimalno 100 |
from |
trenutno vreme | Početak occurrence raspona |
to |
narednih pet godina | Kraj occurrence raspona |
show_past |
false |
Dozvoljava istorijske termine |
Prijavljeni WordPress urednici mogu koristiti endpoint i kada je javni pristup isključen.
Potpisani webhook-ovi
Podržani događaji:
event.createdevent.publishedevent.updatedevent.cancelledevent.postponed
Isporuke se izvršavaju asinhrono preko WordPress Cron-a kao JSON POST. Kada je postavljena tajna, potpis se šalje u zaglavlju:
X-ISW-Signature: sha256=<hex-digest>
PHP provera:
$expected = 'sha256=' . hash_hmac('sha256', $raw_request_body, $secret);
$valid = hash_equals($expected, $_SERVER['HTTP_X_ISW_SIGNATURE'] ?? '');
Integrations tab prikazuje poslednji webhook događaj, HTTP status i poruku.
ISWorkshop HUB kompatibilnost
Plugin koristi zajednički isworkshop-hub parent slug:
- Prvi aktivni ISWorkshop plugin kreira HUB
- Svaki postojeći ili budući plugin dodaje samo svoj settings submenu
- Duplirani HUB elementi se automatski uklanjaju
- HUB je sakriven ako korisnik nema pristup nijednoj stranici
- Operativne event stranice ostaju pod posebnim ISW Events menijem
Performanse
- Datumski upiti koriste indeksiranu occurrence tabelu
- Frontend resursi se učitavaju samo kada je odgovarajući prikaz prisutan
- Swiper se ne učitava za statične slajdere
- Slike koriste WordPress attachment ID-jeve i lazy loading
- AJAX zahtevi koriste nonce zaštitu
- Prošli događaji se proveravaju preko occurrence podataka
Bezbednost i privatnost
- WordPress capabilities i nonce zaštita
- Sanitizacija ulaza i escape izlaza
- Hashovani guest tokeni
- Rate limiting i honeypot zaštita
- Bezbedni remote webhook zahtevi
- Opcioni HMAC-SHA256 potpisi
- Validacija tipa i veličine upload-a
- WordPress privacy export i erase alati
Instalacija
-
Kopirajte plugin u:
wp-content/plugins/isw-events -
Aktivirajte ISW Events Manager.
-
Podesite plugin u ISWorkshop HUB → ISW Events.
-
Kreirajte događaje u meniju ISW Events.
-
Dodajte shortcode, Gutenberg blok, Elementor widget ili Avada element.
-
Po potrebi jednom sačuvajte Settings → Permalinks.
WooCommerce je potreban samo za prodaju ulaznica.
Čuvanje podataka
| Tabela | Namena |
|---|---|
{prefix}isw_event_occurrences |
Indeks jednokratnih i ponavljajućih termina |
{prefix}isw_event_registrations |
Prijave i lista čekanja |
{prefix}isw_event_tickets |
Tipovi WooCommerce ulaznica |
{prefix}isw_event_attendees |
Izdate ulaznice i check-in |
Deaktivacija plugina ne briše podatke.
Razvojne provere
PHP:
Get-ChildItem -Recurse -Filter *.php | ForEach-Object { php -l $_.FullName }
JavaScript:
node --check assets/js/admin.js
node --check assets/js/frontend.js
node --check assets/js/block.js
Lokalizacija:
node tools/check-translations.js
php tools/compile-mo.php languages/isw-events-sr_RS.po languages/isw-events-sr_RS.mo
Licenca
ISW Events Manager je objavljen pod GNU General Public License v3.0 licencom.