Conexión de filtro en la actualización del complemento

2

¿Hay algún gancho de WordPress que pueda usar para ejecutar una función cada vez que se actualice cualquier complemento?

Estoy intentando escribir en un archivo de registro con la IP de los usuarios registrados cada vez que se actualiza algo para poder hacer un seguimiento de la actividad.

    
pregunta fightstarr20 15.06.2017 - 17:08

1 respuesta

4

Tal vez upgrader_process_complete() gancho de acción.

  

Se dispara cuando se completa el proceso de actualización masiva.

En la línea 761 de < em> wp-admin / includes / class-wp-upgrader.php

Desde la fuente:

/**
 * Fires when the upgrader process is complete.
 *
 * See also {@see 'upgrader_package_options'}.
 *
 * @since 3.6.0
 * @since 3.7.0 Added to WP_Upgrader::run().
 * @since 4.6.0 '$translations' was added as a possible argument to '$hook_extra'.
 *
 * @param WP_Upgrader $this WP_Upgrader instance. In other contexts, $this, might be a
 *                          Theme_Upgrader, Plugin_Upgrader, Core_Upgrade, or Language_Pack_Upgrader instance.
 * @param array       $hook_extra {
 *     Array of bulk item update data.
 *
 *     @type string $action       Type of action. Default 'update'.
 *     @type string $type         Type of update process. Accepts 'plugin', 'theme', 'translation', or 'core'.
 *     @type bool   $bulk         Whether the update process is a bulk update. Default true.
 *     @type array  $plugins      Array of the basename paths of the plugins' main files.
 *     @type array  $themes       The theme slugs.
 *     @type array  $translations {
 *         Array of translations update data.
 *
 *         @type string $language The locale the translation is for.
 *         @type string $type     Type of translation. Accepts 'plugin', 'theme', or 'core'.
 *         @type string $slug     Text domain the translation is for. The slug of a theme/plugin or
 *                                'default' for core translations.
 *         @type string $version  The version of a theme, plugin, or core.
 *     }
 * }
 */
do_action( 'upgrader_process_complete', $this, $options['hook_extra'] );

Este ejemplo es solo el ejemplo de códice (aparece como no probado , por cierto), y lo edité para mostrar una posible instancia de todas las actualizaciones de complementos:

add_action( 'upgrader_process_complete', 'my_upgrate_function',10, 2);

function my_upgrate_function( $upgrader_object, $options ) {


    if ($options['action'] == 'update' && $options['type'] == 'plugin' ) {

       foreach($options['packages'] as $each_plugin) {

             // do stuff

       }//end foreach
    }//end if
}//end my_upgrade_function() 
    
respondido por el hwl 15.06.2017 - 17:41

Lea otras preguntas en las etiquetas