web-dev-qa-db-fra.com

Email de l'utilisateur sur la mise à niveau de WordPress

Je suis assez nouveau dans WordPress et j'essaie de personnaliser mon thème pour qu'il m'envoie un courrier électronique lorsqu'une mise à niveau est requise. Je préférerais ne pas utiliser de plugin car cela signifie que je dois l'installer pour chaque site WordPress. Le code ci-dessous est basé sur le plugin update notifier .

add_action('check_updates_daily', 'check_updates');

function check_updates_daily() {
    if (!wp_next_scheduled('check_updates')) {
        wp_schedule_event(time(), 'daily', 'check_updates');
    }
}

function check_updates() {

    $update_core = get_site_transient( 'update_core' );
    if (!empty($update_core) && isset($update_core->updates) && is_array($update_core->updates)
            && isset($update_core->updates[0]->response) && 'upgrade' == $update_core->updates[0]->response)
     {
        $newversion = $update_core->updates[0]->current;
        $oldversion = $update_core->version_checked;
        $blogurl = esc_url( home_url() );
        $message = "It's time to update the version of WordPress running at $blogurl from version $oldversion to $newversion.\n\n";

        // don't let $wp_version mangling plugins mess this up
        if (!preg_match( '/^(\d+\.)?(\d+\.)?(\d+)$/', $oldversion)) {
            include( ABSPATH . WPINC . '/version.php' );
            $message = $wp_version == $newversion ? '' : "It's time to update the version of WordPress running at $blogurl from version $wp_version to $newversion.\n\n";
        }       
    }       

    //Send email
    if (!empty($message)) {     

        $subject = apply_filters( 'updatenotifier_subject', 'Updates are available for '.get_bloginfo('name').'.');

        wp_mail('[email protected]', $subject, $message);     
    }
}

Je l'ai changé pour vérifier toutes les heures pour vérifier si cela fonctionnait, mais je n'ai reçu aucun courrier électronique. J'ai également programmé l'envoi d'un courrier électronique sans vérifier les mises à jour et cela ne fonctionnait pas non plus.

Toute aide appréciée, merci = D

1
Elliott

J'ai ajouté le plugin ci-dessus mentionné WP Updates Notifier

Peut-être que vous voulez regarder ça à la place?

Si vous souhaitez l'inclure dans votre thème, il vous suffit de copier le fichier de plug-in et de le placer dans votre fichier de fonctions de thème.

Si vous avez besoin d'aide supplémentaire pour modifier ce plugin, laissez un commentaire et je verrai ce que je peux faire.

0
Brady

Que vous utilisiez un plug-in déjà disponible ou écrivez votre propre plug-in, vous devrez toujours l'installer sur chaque site WP que vous avez configuré. Ne perdez pas de temps à réinventer la roue, utilisez simplement le plugin que vous avez déjà trouvé.

0
EAMann