Hook llamado antes de guardar un widget de texto en WordPress
Quiero saber qué hook/acción se llama justo antes de que el contenido y el título del Widget de Texto se almacenen en la base de datos. Busqué mucho en Google pero no pude encontrar el nombre del hook.
Lo que necesito es que cada vez que se presione el botón de guardar en un widget de texto (en el panel de administración), quiero aplicar mi función personalizada de modificación de contenido y devolver el contenido actualizado para que WordPress lo guarde.
Nota importante: Mi pregunta no es un duplicado de esta pregunta, porque trata sobre un filter y yo busco un hook o acción. Podría ser una solución pero no es la óptima en mi caso, ya que consumiría muchos recursos.
Ejemplo: Tengo 10 widgets de texto activos en mi sidebar y por cada visita a la página, para cada widget se llamaría a widget_text
. Por eso busco una solución mejor.
Cualquier ayuda será muy apreciada.
Gracias.

No estoy seguro de lo que buscas aquí, quizás haya otras opciones disponibles, pero existe por ejemplo este hook:
/**
* Filtra los ajustes de un widget antes de guardarlos.
*
* Devolver false evitará efectivamente que el widget pueda actualizar sus ajustes.
*
* @since 2.8.0
*
* @param array $instance Los ajustes actuales de la instancia del widget.
* @param array $new_instance Array de nuevos ajustes del widget.
* @param array $old_instance Array de ajustes antiguos del widget.
* @param WP_Widget $this La instancia actual del widget.
*/
$instance = apply_filters(
'widget_update_callback',
$instance,
$new_instance,
$old_instance,
$this
);
Aquí hay un ejemplo de cómo podemos dirigirnos a los widgets de Texto y modificar el campo de entrada text
cuando se actualizan:
add_filter( 'widget_update_callback', function( $instance, $new, $old, $obj )
{
if( 'text' === $obj->id_base && ! empty( $instance['text'] ) )
{
// Advertencia: esto sobrescribe el texto de entrada de la instancia del widget:
// $instance['text'] = 'texto de reemplazo';
}
return $instance;
}, 10, 4 );
