Iniziare ad usare la classe - GiorgioKM/ManageFavoriteCookie GitHub Wiki

Sommario

➡️ Istanziare la classe

➡️ Aggiungere/Rimuovere un preferito

➡️ Ottenere un array con tutti gli ID dei preferiti

➡️ Filtro per operazioni AJAX personalizzate


Istanziare la classe

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');

Il costruttore accetta solo 2 parametri:

  • $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.

Aggiungere/Rimuovere un 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.

Ottenere un array con tutti gli ID dei preferiti

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
)

Filtro per operazioni AJAX personalizzate

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>).

⚠️ **GitHub.com Fallback** ⚠️