Hook chiamato prima del salvataggio di un widget di testo
Voglio sapere quale hook/azione viene chiamato appena prima che il contenuto e il titolo di un Text Widget vengano salvati nel database. Ho cercato molto su Google ma non sono riuscito a trovare il nome dell'hook.
Quello che voglio è che ogni volta che viene premuto il pulsante di salvataggio di un widget di testo (nel pannello di amministrazione), voglio applicare la mia funzione personalizzata di personalizzazione del contenuto e restituire il contenuto aggiornato in modo che WordPress possa salvarlo.
Nota bene: La mia domanda non è un duplicato di questa domanda, perché riguarda un filtro e io sto cercando un hook o un'azione. Potrebbe essere una soluzione ma non è una buona soluzione nel mio caso, perché sarebbe dispendiosa in termini di tempo.
Ad esempio: Ho 10 widget di testo attivi nella mia sidebar e per ogni caricamento di pagina su ogni widget verrà chiamato widget_text
. Quindi sto cercando una soluzione migliore.
Qualsiasi aiuto sarebbe molto apprezzato.
Grazie.

Non sei sicuro di cosa stai cercando qui, potrebbero esserci altre opzioni possibili, ma c'è ad esempio questo hook:
/**
* Filtra le impostazioni di un widget prima del salvataggio.
*
* Restituire false interromperà effettivamente la capacità del widget
* di aggiornare le impostazioni.
*
* @since 2.8.0
*
* @param array $instance Le impostazioni correnti dell'istanza del widget.
* @param array $new_instance Array delle nuove impostazioni del widget.
* @param array $old_instance Array delle vecchie impostazioni del widget.
* @param WP_Widget $this L'istanza corrente del widget.
*/
$instance = apply_filters(
'widget_update_callback',
$instance,
$new_instance,
$old_instance,
$this
);
Ecco un esempio di come possiamo selezionare i widget Testo e modificare il campo di input text
quando vengono aggiornati:
add_filter( 'widget_update_callback', function( $instance, $new, $old, $obj )
{
if( 'text' === $obj->id_base && ! empty( $instance['text'] ) )
{
// Attenzione questo sovrascrive l'input di testo dell'istanza del widget:
// $instance['text'] = 'testo sovrascritto';
}
return $instance;
}, 10, 4 );
