web-dev-qa-db-fra.com

Comment changer l'adresse e-mail de l'administrateur dans wordpress sans notification ni confirmation

J'ai créé un site dans le serveur de transfert que je souhaite modifier l'adresse électronique de l'administrateur pour ce site de transfert. Parce que je veux tester quelque chose sur le site intermédiaire à ce moment-là, aucun email n'est envoyé au client (email d'administrateur d'origine), de sorte que je souhaite changer d'email d'administrateur. L'adresse e-mail de l'administrateur ne changera pas tant que je n'aurai pas cliqué sur le lien dans l'e-mail de confirmation. Adresse de confirmation dans wordpress comment je fais ça? Pourrais-tu m'aider s'il te plaît? S'il y a un code pour cela?

 enter image description here

18
developerme

Une page de paramètres "secrets" vous permet de modifier tous les paramètres du tableau des options.

Accédez-y en remplaçant l'URL de /options-general.php par /options.php

58
valerio

Celui que vous essayez de remplacer est en réalité le courrier électronique dans les paramètres Wordpress, pas le courrier électronique de l'utilisateur wp. Celui-ci peut être changé directement dans la base de données dans la table wp_optionsoption_name est admin_email

Ou avec la requête de mise à jour donnée:

UPDATE `wp_options` SET `option_value` = '[email protected]' WHERE `option_name` = 'admin_email';
7
Mladen Janjetovic

Remarque: faites un dump et essayez-le d'abord en local. Ne testez pas en production.

Changer avec DB

//email
UPDATE `wp_users` SET `user_email` = "new_email_address" WHERE `wp_users`.`user_login` = "admin";

//password
UPDATE `wp_users` SET `user_pass` = MD5('new_password_here') WHERE `wp_users`.`user_login` = "admin";

Cochez cette case aussi

3
Abdulla Nilam

Vous devez entrer dans le serveur mysql

et lancez la requête suivante

UPDATE `wp_options` SET `option_value` = '[email protected]' WHERE `option_id` = 6;
1
sese smith

Plus facile à utiliser phpMyAdmin

wp_options> admin_email

1
Eric Caudle

Exécuter cette requête, cela modifiera l'identifiant du courrier électronique sans aucune confirmation

UPDATE `wp_users` SET `user_email` = 'newemail' WHERE `user_email` = 'old_email';
0
Thamaraiselvam

J'ai eu le même problème alors j'ai écrit un plugin pour restaurer la fonctionnalité de lien de confirmation. Vous pouvez le télécharger sur le repo .org:

Modifier les paramètres de messagerie de l'administrateur sans les e-mails sortants

Voici le code:

<?php
/*
 Plugin Name: Change Admin Email Setting Without Outbound Email
 Plugin URI: https://wp-bdd.com/change-admin-email/
 Description: Restores functionality removed since WordPress 4.9. Allows the changing of the admin email by admins in single site without outbound email or recipient email credentials.
 Version: 1.0
 Author: John Dee
 Author URI: https://wp-bdd.com/
*/

$ChangeAdminEmailPlugin = new ChangeAdminEmailPlugin;

class ChangeAdminEmailPlugin{

    public function __construct(){

        //This plugin doesn't do anything unless it's WordPres version +4.9 and single site
        if($this->isWordPressMinimiumVersion("4.9.0") && (!( is_multisite()))){
            //pulls the default actions
            remove_action( 'add_option_new_admin_email', 'update_option_new_admin_email' );
            remove_action( 'update_option_new_admin_email', 'update_option_new_admin_email' );

            //When you actually complete the change, another email gets fired to the old address
            //this filter overides this:
            add_filter('send_site_admin_email_change_email', function(){return FALSE;}, 10, 3 );

            //hooks our own custom method to update the email
            add_action( 'add_option_new_admin_email', array($this, 'updateOptionAdminEmail'), 10, 2 );
            add_action( 'update_option_new_admin_email', array($this, 'updateOptionAdminEmail'), 10, 2 );

            //this fixes the text in English. Translators wanted for other languages.
            add_action('wp_after_admin_bar_render', array($this, 'modifyOptionsGeneralPHPForm'));
        }
    }

    public function updateOptionAdminEmail( $old_value, $value ) {
        update_option( 'admin_email', $value );
    }

    public function isWordPressMinimiumVersion($version){
        global $wp_version;
        if (version_compare($wp_version, $version, ">=")) {
            return TRUE;
        } else {
            return FALSE;
        }
    }

    //Changes the form on admin area options-general.php. Doesn't do anything unless on this page.
    public function modifyOptionsGeneralPHPForm(){
        $screen = get_current_screen();
        if($screen->base == "options-general"){
            add_filter( 'gettext', array($this, 'filterText'), 10, 3 );
        }
    }

    //Changes the English text of WP core. Inspired by https://wordpress.stackexchange.com/questions/188332/override-default-wordpress-core-translation
    public function filterText( $translated, $original, $domain ) {
        if ( $translated == "This address is used for admin purposes. If you change this we will send you an email at your new address to confirm it. <strong>The new address will not become active until confirmed.</strong>"){
            $translated = __("This address is used for admin purposes.");
        }
        return $translated;
    }

}
0
John Dee