web-dev-qa-db-fra.com

Mises à jour automatiques Les plugins individuels ne fonctionnent pas

J'écris un plugin Wordpress pour la mise à jour automatique de plugins individuels. Je ne peux pas vérifier que le filtre 'auto_update_plugin' fonctionne. Tout ce que je mets dans la fonction de rappel ne renvoie rien. Comme si la fonction n'était jamais appelée.

Le filtre:

add_filter( 'auto_update_plugin', array( $this, 'l7wau_auto_update_specific_plugins' ), 10, 2 );

La fonction de rappel:

/**
     * Update specific plugins. Got this from Wordpress codex.
     */
    function l7wau_auto_update_specific_plugins( $update, $item ) {

        // Array for adding the path to file. Use for 3.8.1 and below.
        $new_plugin_array = array();
        $this->plugin_slug = 'changed'; //Test to see if it is working. Nothing here.

        /**
         * Get the array of names/slugs to set to auto-update
         * Added the folder/file.php because the actual slug is not 
         * the file name.  It is the plugin folder and file with header use for 3.8.1 and below.
         */
        $plugins = $this->l7wau_get_array_plugins_to_update();

        if ( in_array( $item->slug, $plugins ) ) {
            return true; // Always update plugins in this array
        } else {
            return $update; // Else, use the normal API response to decide whether to update or not
        }
    }
1
Jeff Mattson

Il s'avère que ce qui précède fonctionne. Cela prend juste 12 heures pour que le cycle de mise à jour automatique se produise. La chose que j'ai changé était le nombre d'importance pour 10 à 20.

add_filter( 'auto_update_plugin', array( $this, 'l7wau_auto_update_specific_plugins' ), 20, 2 );
0
Jeff Mattson