-
Notifications
You must be signed in to change notification settings - Fork 0
Iniziare ad usare la classe
➡️ Aggiungere/Rimuovere un preferito
➡️ Ottenere un array con tutti gli ID dei preferiti
➡️ Filtro per operazioni AJAX personalizzate
Una volta inclusa la classe nel progetto, occorre come prima cosa istanziare la classe tramite il costruttore __construct($cookie_name, $text_or_icons_for_favorite = array())
:
$ManageFavoriteCookie = new ManageFavoriteCookie('favorite', [
'add' => '<span class="icon-heart"></span>',
'remove' => '<span class="icon-heart-empty"></span>',
]);
Se si vuole utilizzarla globalmente è anche possibile impostare la variabile direttamente come globale:
$GLOBALS['ManageFavoriteCookie'] = new ManageFavoriteCookie('favorite');
- $cookie_name: String - Obbligatorio. E' il nome del cookie di sessione che la classe utilizzerà per salvare le informazioni
- $text_or_icons_for_favorite: Array - Facoltativo. Sovrascrive il risultato HTML per le funzioni di aggiunta/rimozione del preferito.
Per poter aggiungere/rimuovere un preferito, occorre richiamare il metodo sul post o sulla pagina dove si vuole far comparire il codice html. Quindi è necessario richiamare il metodo $ManageFavoriteCookie->render(<ITEM_ID>)
.
$ManageFavoriteCookie->render(6);
Il metodo render
richiede un parametro di tipo integer. Questo può essere l'ID del post, della pagina o qualsiasi ID si vuole far memorizzare dalla classe all'interno dei preferiti. Il tutto verrà salvato come cookie di sessione.
Sarà poi compito della classe stampare il codice relativo per l'aggiunta o la rimozione del preferito.
E' possibile ottenere una lista con tutti gli ID salvati nel cookie di sessione, tramite il metodo $ManageFavoriteCookie->getIDsAsArray()
.
$ManageFavoriteCookie->getIDsAsArray();
L'array avrà questa struttura:
Array
(
[0] => 46
[1] => 68
[2] => 2
)
Quando l'utente esegue un click con il mouse sull'evento di aggiunta o rimozione del preferito, lo script Javascript richiama via AJAX una funzione PHP per le operazioni di aggiornamento sul cookie di sessione. E' possibile, dopo aver svolto le operazioni della classe, aggiungere ulteriore codice per eseguire eventuali istruzioni personalizzate del preferito aggiunto o rimosso. Il codice verrà eseguito come ultima operazione, prima di inviare una risposta JSON alla richiesta AJAX.
Nel file functions.php
aggiungere la chiamata add_action
in questo modo:
add_action('mfc_custom_ajax', function($item_id) {
...
codice aggiuntivo
...
});
$item_id
è l'ID dell'oggetto ottenuto tramite l'evento click nel codice HTML renderizzato dal metodo $ManageFavoriteCookie->render(<ITEM_ID>)
.