WP Manifestindependent plugin directory
manifest / events / wp-events

WP Events

Custom Events plugin with Organizer and Venue relations, recurrence, JSON-LD, shortcodes, and import helpers.

by WebJax · github.com/webjax/wp-events

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/webjax/wp-events/archive/refs/heads/main.zip

Readme

WP Events Plugin

Et WordPress-plugin til begivenheder med SEO, gentagelser, relationer og import fra The Events Calendar.

Funktioner

  • Custom post types: Event, Organizer, Venue
  • Relationer: mange-til-mange arrangører, én-til-en venue
  • Gentagelser: daglig, ugentlig, månedlig, årlig
  • JSON-LD Schema.org markup
  • iCal Eksport: Download events i iCalendar format (.ics fil)
  • WooCommerce Integration: Sælg billetter gennem WooCommerce
  • Arrangør Login: Arrangører kan logge ind og administrere egne events
  • Event Status: Cancelled, Postponed, Sold Out, Completed badges
  • Registration/RSVP: Indbygget tilmeldings-system med kapacitetsstyring
  • Avanceret Import fra Tribe Events (WP-CLI og admin):
    • Oversigt over alle tilgængelige events
    • Selektiv import med checkboxes
    • Status tracking (importerede vs. tilgængelige)
    • Filtrering efter fremtidige/tidligere events
    • Import-statistik dashboard
    • Venues importeres automatisk: Adresse, by, postnummer, land, telefon og website overføres
    • Arrangører importeres automatisk: Telefon, website og email overføres
    • Kategorier og tags overføres (tribe_events_cat → event_category, post_tag → event_tag)
    • Udvalgt billede (featured image) overføres
    • Pris og valuta overføres
    • Indhold konverteres automatisk til Gutenberg-blokke
  • Shortcodes: [events_list], [event id=123], [organizer_dashboard], [event_submission_form]
  • Gutenberg-blokke: Event-liste, Karusel (Swiper.js)
  • Admin kolonner: Dato, Sted, Arrangør, Status

Installation

  1. Upload plugin-mappen til /wp-content/plugins/wp-events
  2. Aktivér via WordPress admin

Import fra The Events Calendar

Via Admin Interface

  1. Gå til WP Events → Import from Tribe i WordPress admin
  2. Se oversigt over alle Tribe Events med statistik
  3. Vælg events ved at sætte flueben
  4. Klik på "Import Selected Events"

Funktioner:

  • Filtrering: Alle, Tilgængelige, Importerede, Fremtidige, Tidligere
  • Status tracking: Se hvilke events der allerede er importeret
  • Duplikat-forebyggelse: Events kan kun importeres én gang
  • Visual feedback: Importerede events markeres med ✓

Hvad importeres?

For hvert event overføres følgende data automatisk:

Data Detaljer
Titel og indhold Indhold konverteres til Gutenberg-blokke
Start- og sluttidspunkt Fra _EventStartDate / _EventEndDate
Udvalgt billede Kopieres fra Tribe event
Pris og valuta Fra _EventCost / _EventCurrencySymbol
Venue Oprettes som venue-CPT med adresse, by, postnummer, land, telefon og website. Eksisterende venues genbruges (duplikat-forebyggelse).
Arrangører Oprettes som organizer-CPT med telefon, website og email. Understøtter flere arrangører pr. event.
Kategorier tribe_events_catevent_category
Tags post_tagevent_tag

Se IMPORT-GUIDE.md for detaljeret dokumentation.

WP-CLI Import

Kør:

# Import alle tilgængelige events (inkl. venues og arrangører)
wp wpevents import-tribe

# Import i batches
wp wpevents import-tribe --batch=50

# Nulstil import-statistik (events slettes ikke, men kan importeres igen)
wp wpevents reset-import

# Nulstil uden bekræftelsesprompt
wp wpevents reset-import --yes

iCal Eksport

Events kan eksporteres i iCalendar format (.ics) til kalenderapps.

Funktioner

  • Download knap: Automatisk "Add to Calendar" knap på event sider
  • REST API: /wp-json/wp-events/v1/ical/{event_id} - Hent iCal for enkelt event
  • Feed: /wp-json/wp-events/v1/ical/feed - Hent alle kommende events som iCal feed
  • Direkte download: ?ical_download=1&event_id=123 på event URL

Brug

  1. Besøg en event side
  2. Klik på "Add to Calendar" knappen
  3. Åbn .ics filen i din kalender app (Google Calendar, Apple Calendar, Outlook)

WooCommerce Integration

Sælg billetter til events gennem WooCommerce. Et event kan have flere billettyper (flere produkter).

Opsætning

  1. Installér og aktivér WooCommerce plugin
  2. Opret ét eller flere produkter i WooCommerce til billettyper (fx Standard, VIP)
  3. I event editor, find "Ticket Settings" meta box:
    • Aktivér "Enable ticket sales"
    • Vælg et eller flere WooCommerce-produkter (Ctrl/Cmd for multi-select)
    • Sæt fælles event-kapacitet (max deltagere på tværs af alle billettyper; 0 = ubegrænset)
  4. Styrr lager pr. billet-type i hvert WooCommerce-produkt
  5. Gem event

Funktioner

  • Flere billettyper: Flere WooCommerce-produkter pr. event
  • Automatisk ticket-sektion: Vises på event-sider med pris og knap pr. type
  • Kapacitetsstyring: Fælles event-loft ovenpå hvert produkts eget lager (tjekkes ved add-to-cart, kurv og checkout). Loftet tvinger ikke produktet udsolgt globalt, så samme produkt kan sælges til flere events.
  • Order tracking: Events linkes til orders; lager synces når ordrestatus ændres
  • Deltagerliste: Attendee info gemmes på orders
  • Udsolgt beskeder: Vises når event-loftet eller en billet-type er udsolgt; status kan sættes til Sold Out automatisk

Arrangør Login & Administration

System til at lade arrangører logge ind og administrere egne events.

Brugerroller

  • Event Organizer: Ny rolle kun til event administration
  • Kan oprette, redigere og slette egne events
  • Kan ikke tilgå andet admin indhold

Opsætning

  1. Opret bruger med "Event Organizer" rolle
  2. I event editor, find "Assigned Organizers" meta box
  3. Vælg hvilke brugere der kan administrere eventet
  4. Gem event

Shortcodes for Organizers

// Dashboard med liste af egne events
[organizer_dashboard]

// Frontend formular til at indsende events
[event_submission_form]

Frontend Event Indsendelse

  1. Tilføj [event_submission_form] shortcode til en side
  2. Arrangører logger ind
  3. Udfylder formular med event detaljer
  4. Event oprettes med status "pending" (afventer godkendelse)
  5. Admin gennemgår og publicerer event

Event Status & Badges

Events kan tildeles forskellige statuser der vises som badges:

  • Scheduled: Normal status (ingen badge)
  • Cancelled: Aflyst event (rød badge)
  • Postponed: Udsat til senere (gul badge)
  • Rescheduled: Omlagt til ny dato (blå badge)
  • Sold Out: Udsolgt (grå badge)
  • Completed: Afsluttet event (grøn badge)

Badges vises automatisk på event titler i arkiver og på event sider.

Registration/RSVP System

Indbygget tilmeldings-system uden behov for ekstra plugins.

Opsætning

  1. I event editor, find "Registration Settings" meta box
  2. Aktivér "Enable Registration"
  3. Vælg indstillinger:
    • Maximum Attendees: Maksimalt antal deltagere (0 = ubegrænset)
    • Registration Deadline: Sidste frist for tilmelding
    • Require Approval: Kræv admin godkendelse af tilmeldinger

Funktioner

  • Frontend formular: Vises automatisk på event sider
  • Email bekræftelse: Automatisk sendt til deltagere
  • Kapacitetsstyring: Lukker tilmelding ved fuldt event
  • Admin oversigt: Se alle tilmeldinger i event editor
  • Godkend/afvis: Kræv godkendelse og send opfølgningsmail
  • Status tracking: Pending, Confirmed eller Rejected
  • Deltagerinfo: Navn, email, telefon, noter

Fremtidige udvidelser

  • Email notifikationer til deltagere
  • Påmindelse for kommende events
  • Deltagerregistrering uden WooCommerce
  • Integration med flere betalingsgateways

WP Events Template System

Dette plugin inkluderer et fleksibelt template system der automatisk håndterer visning af events, men som kan overskrives i dit tema.

Tilgængelige Templates

1. Archive Templates

Plugin'et tilbyder fire forskellige visningsformater for event-arkivet:

Standard Grid View (archive-event.php)

  • Standard visning med event cards i grid layout
  • Filtrering efter kategori og tidspunkt
  • Paginering
  • Event cards med billede, titel, tidspunkt og sted
  • Responsive design

Calendar/Grid View (archive-event-calendar.php)

  • 3-kolonne grid layout (ligner kalender visning)
  • Større event cards med mere information
  • Ideel til månedlig oversigt
  • Tilgås via: /events/?view=calendar

List View (archive-event-list.php)

  • Horisontale event cards med dato badge
  • Detaljeret information i liste format
  • Bedre til at scanne gennem mange events
  • Tilgås via: /events/?view=list

Compact View (archive-event-compact.php)

  • Kompakt liste med minimal information
  • Hurtig oversigt over kommende events
  • Perfekt til sidebars eller widgets
  • Tilgås via: /events/?view=compact

2. Single templates

  • single-event.php — Event med tid, sted, arrangør, billetter og tilmelding
  • single-venue.php — Venue med adresse, kontakt og kommende events på stedet
  • single-organizer.php — Arrangør med kontakt og kommende events

3. Taxonomy Templates

  • taxonomy-event_category.php - Events i en specifik kategori
  • taxonomy-event_tag.php - Events med et specifikt tag

Begge viser:

  • Event cards med samme layout som archive
  • Kategori/tag beskrivelse
  • Paginering

3. Template Parts (Genanvendelige komponenter)

Event Cards

  • parts/event-card-grid.php - Standard grid card
  • parts/event-card-list.php - Horizontal list card med dato badge
  • parts/event-card-compact.php - Kompakt card med minimal info

UI Komponenter

  • parts/event-filters.php - Filtrering (kategori, tidspunkt, sortering)
  • parts/view-switcher.php - Skift mellem visningsformater

Visningsskifter (View Switcher)

Brugere kan nemt skifte mellem de forskellige visninger via:

  • View Switcher UI - Vises øverst på event arkiv sider
  • URL parameter - Tilføj ?view=list, ?view=calendar eller ?view=compact til URL'en
  • Standard visning - Grid/kalender visning hvis ingen parameter er sat

Hvordan man overskriver templates

I dit tema:

  1. Opret mappen wp-events/ i dit tema
  2. Kopier den ønskede template fra wp-content/plugins/wp-events/templates/
  3. Tilpas efter behov

Eksempel:

wp-content/themes/dit-tema/
└── wp-events/
    ├── archive-event.php
    ├── archive-event-list.php
    ├── taxonomy-event_category.php
    └── parts/
        ├── event-card-grid.php
        └── view-switcher.php

Prioritet:

  1. wp-content/themes/dit-tema/wp-events/template-navn.php (høj prioritet)
  2. wp-content/themes/dit-tema/template-navn.php
  3. wp-content/plugins/wp-events/templates/template-navn.php (plugin standard)

Template Struktur

Event Card Data

Hver event card indeholder:

$event_id = get_the_ID();
$start_date = get_post_meta( $event_id, 'event_start', true );
$end_date = get_post_meta( $event_id, 'event_end', true );
$venue_id = get_post_meta( $event_id, 'event_venue', true );
$venue_name = $venue_id ? get_the_title( $venue_id ) : '';

Styling

Templates bruger CSS klasser fra wp-events-frontend.css:

  • .event-card - Hoved container
  • .event-image - Billede container
  • .event-content - Tekst indhold
  • .event-title - Titel
  • .event-date - Tidspunkt
  • .event-venue - Sted
  • .event-excerpt - Uddrag
  • .event-read-more - Læs mere knap

Tilpasning

CSS Overrides

Tilføj custom CSS i dit tema:

.wp-events-archive-page .event-card {
    /* Dine tilpasninger */
}

Template Hooks

Du kan bruge standard WordPress hooks i dine templates:

  • get_header()
  • get_footer()
  • the_posts_pagination()

Filtrering

Archive template inkluderer JavaScript til filtering efter:

  • Event kategori
  • Tidspunkt (kommende/tidligere/alle)

Troubleshooting

Templates ikke synlige?

  1. Flush permalink strukturen (Indstillinger > Permalinks > Gem)
  2. Tjek at events er oprettet og publiceret
  3. Verificer at event_start meta er sat på events

Styling problemer?

  1. Tjek at wp-events-frontend.css indlæses
  2. Kontroller for tema CSS konflikter
  3. Brug browser developer tools til debugging

Read the full README on GitHub →