• Moderatore

    Articoli della categoria "Eventi"

    Se ho dei normali articoli in una categoria (nello specifico è dedicata agli "eventi") , c'è modo di ordinarli in base alla data di svolgimento dell'evento?

    Normalmente, quando si entra in una qualsiasi categoria, gli articoli vengono ordinati in base alla data di pubblicazione.
    Nella mia specifica categoria "eventi", c'è modo di ordinare gli articoli in base alla data dell'evento?
    Vorrei far vedere gli eventi che devono ancora avvenire, ma comunque senza perdere la possibilità di vedere gli articoli degli eventi passati...

    C'è soluzione?


  • Moderatore

    Ciao Lazzo85,
    di solito si utilizza la action "pre_get_posts", in modo che puoi riscrivere la query come meglio credi.
    Ad esempio (non l'ho testata e non ti so dire se orderby funziona sul parametro meta):
    [PHP]
    <?php
    function newQuery( $query ) {
    if( $query->is_category( 'eventi' ) ) {
    $query->set( 'meta_key', 'data'); // esempio
    $query->set( 'orderby' => array( 'meta_value' ) );
    $query->set( 'order' => 'DESC' ); //o ASC a seconda di come vuoi l'ordinamento
    }
    }

    add_action( 'pre_get_posts', 'newQuery' );
    ?>
    [/PHP]
    Link: https://codex.wordpress.org/Plugin_API/Action_Reference/pre_get_posts
    Oppure, puoi realizzare un template di categoria specifico, usando WP_Query in modo da realizzarti ad hoc la query
    Link: https://codex.wordpress.org/it:Riferimento_classi/WP_Query

    Sono entrambe soluzioni valide, ma dipende tutto dal risultato che vuoi ottenere.


  • Moderatore

    Ciao Ultima,
    entrambe le soluzioni sono un po' troppo avanzate per me... :mmm:

    Proprio ora sto provando Events Calendar per vedere se può fare al caso mio.
    In questo caso però, gli attuali articoli sugli eventi li dovrei spostare in questo plugin (cosa che potrei fare velocemente visto che sono ancora pochi), ma se un giorno decido di cambiare questo plugin perdo tutti i contenuti in esso creati...

    Le questione fondamentali sono 2:

    1. far vedere in modo chiaro all'utente gli eventi che si devono ancora svolgere e quelli che ci sono già stati
    2. tenere "sempre verdi" gli articoli sugli eventi: per esempio l'articolo su una festa di paese che si svolge annualmente, lo vorrei aggiornare anno dopo anno (con le nuove date, il programma, la locandina, etc.)

  • Moderatore

    Ciao
    potresti guardare se il tuo Tema prevede quanto chiedi, alcuni temi hanno diverse opzioni di personalizzazione delle Categorie.


  • Moderatore

    Uso Ocean, non mi sembra che abbia nulla che faccia al caso mio. 😞

    Le soluzioni che ho trovato sono 3:

    • potrei usare i campi personalizzati e intervenire sul codice come mi ha suggerito Ultima
    • integrare Google Calendar
    • usare un plugin

    In tutti i casi non vedo la soluzione ideale.


  • Moderatore

    Ciao Lazzo85,

    la soluzione con plugin è ottima in ottica di meno sbattimento, di plugin per la gestione di eventi ce ne sono tantissimi, hai l'imbarazzo della scelta e dovrebbero avere anche quello che cerchi, non ho nessun nome da consigliarti in particolare, provane alcuni e vedi.

    Di solito i plugin usano i CPT e non le categorie per creare gli eventi, molto più comodo per separare i contenuti.

    Alcuni dei plugin che trovi sulla repo integrano anche Google Calendar.

    Ciao
    Enea