Supporto » Funzionalità = Plugin » action hook in plugin

  • Buonasera, sto cercando di capire come funziona un action hook, in particolare all’interno di un plugin di wordpress. Nello specifico il plugin che sto ‘studiando’ è Newsletter e nel file principale del plugin è riportato un add_action con hook pari proprio a ‘newsletter’. Ad esso è associata una funzione che gestisce l’invio della newsletter. Ciò che non riesco a realizzare è che cercando in tutti i file del plugin non c’è nessun corrispondente do_action. Quello che vorrei chiedere è: non è necessario associare un do_action ad un add_action? Come verrebbe quindi invocata la funzione suddetta, cioè come fa wordpress a sapere quando si ha l’evento che la richiama?

    • Questo topic è stato modificato 6 anni, 1 mese fa da lucio1980.
Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Thomas Vitale

    (@thomas-vitale)

    Ciao @lucio1980,

    quello che hai scritto è corretto, c’è bisogno di una do_action() altrimenti la funzione associata all’action hook non verrebbe mai eseguita.

    Nel caso del plugin Newsletter, è possibile che la funzione associata al custom action hook “newsletter” non venga eseguita nella versione free del plugin disponibile nel repository di WordPress, ma in una qualche estensione free/premium disponibile sul sito del vendor (contenente quindi la do_action() associata a all’hook).

    Spero di essere stato d’aiuto,

    Thomas

    Thomas Vitale

    (@thomas-vitale)

    Nel caso possa interessarti, ti segnalo che nel Codex puoi trovare una lista di action hook e una lista di filter hook disponibili nel Core di WordPress.

    Chi ha creato la discussione lucio1980

    (@lucio1980)

    Ciao Thomas, grazie.
    Comunque quello che è strano è che se commento le righe della funzione associata all’add_action (oppure se commento quest’ultimo) non viene eseguita l’azione prevista, per cui la suddetta funzione è effettivamente utilizzata dal plugin che sto usando. A questo punto stavo pensando se sia possibile che il corrispondente do_action si trovi in file esterni al plugin (perchè ho effettuato una ricerca su tutta la cartella del plugin e non risulta la sua presenza).

    • Questa risposta è stata modificata 6 anni, 1 mese fa da lucio1980.
Stai visualizzando 3 risposte - dal 1 al 3 (di 3 totali)
  • Il topic ‘action hook in plugin’ è chiuso a nuove risposte.