✅ Notizie, temi, plugin WEB e WordPress. Qui condividiamo suggerimenti e le migliori soluzioni per siti web.

Crea eventi ricorrenti a livello di codice con il calendario degli eventi

41

Il calendario degli eventi di Modern Tribe è probabilmente il plug-in di calendario più popolare disponibile per WordPress. Ho parlato di interrogare gli eventi usando WP_Query in un post precedente, ma è applicabile sia alla versione gratuita che a quella premium.

La versione premium offre molte fantastiche funzionalità, ma se stai cercando di manipolare il calendario in modo programmatico, è un po’ più difficile lavorarci.

  • non esiste una documentazione chiara su come sfruttare determinate funzionalità dal punto di vista di uno sviluppatore
  • i luoghi in cui le persone hanno chiesto come farlo a volte lasciano a desiderare.

Caso in questione: quando è necessario creare eventi ricorrenti a livello di codice.

Ad essere onesti, penso che il plug-in sia per gli utenti rispetto agli sviluppatori e quindi fornire documentazione su come sfruttare alcuni aspetti del suo codice interno non è un obbligo da parte loro.

In secondo luogo, è open source. Quindi, per quelli di noi che hanno bisogno di invocare parte del suo codice, hanno il tempo e un debugger a portata di mano, non è terribilmente difficile sedersi e vedere come funziona.

Il vantaggio dell’open source, giusto?

Detto questo, il modo per creare eventi ricorrenti a livello di codice con Event Calendar richiede l’utilizzo della Tribe__Events__Pro__Recurrence__Metaclasse.

Ciò presuppone che tu stia utilizzando l’ultima versione del plug-in (come l’ora di questo post) e che tu abbia familiarità con il meccanismo di accodamento integrato nel plug-in. Tratterò questo più dopo il codice qui sotto.

Per creare un evento ricorrente, le cose di base di cui hai bisogno sono:

  • il tipo di evento ricorrente,
  • come andrà a finire,
  • la data di inizio,
  • la data di fine.

Il resto può essere una serie di valori predefiniti. Quindi si tratta di acquisire un’istanza in una classe, impostare i valori e chiamare un metodo.

Ad esempio :

<?php

// First, create the main event. `$event` is defined prior to this call.
$event_id = tribe_create_event( $event );

// Set the arguments for the recurring event.
$data = array(
    'recurrence' => array(
        'rules' => array(
            array(
                'type'                  => 'Every Year',
                'end-type'              => 'Never',
                'end'                   => '',
                'end-count'             => '',
                'EventStartDate'        => $start_date,
                'EventEndDate'          => $end_date,
                'custom'                => array(),
                'occurrence-count-text' => 'events',
            ),
        ),
    ),
);

// Instantiate and set it in motion.
$recurrence_meta  = new Tribe__Events__Pro__Recurrence__Meta();
$recurrence_meta->updateRecurrenceMeta( $event_id, $data );

Notare che il primo parametro della updateRecurrenceMetafunzione presuppone che tu abbia l’ID di un evento (che viene recuperato quando crei un evento per la prima volta).

In secondo luogo, a seconda del numero di eventi su cui stai lavorando, potrebbero essere necessari alcuni minuti per crearli tutti nel database. Ciò è dovuto al modo in cui il plugin mette in coda una serie di eventi.

Anziché crearli tutti in una volta, serializzerà gli eventi e quindi li creerà in batch. Questo è un modo intelligente per gestirlo. E se stai cercando di trarne vantaggio a livello di codice, questo è un modo per ottenere tutte queste funzionalità gratuitamente.

Fonte di registrazione: tommcfarlin.com

This website uses cookies to improve your experience. We'll assume you're ok with this, but you can opt-out if you wish. Accept Read More