it-swarm.com.de

So ändern Sie die Admin-E-Mail-Adresse in WordPress ohne Benachrichtigung und Bestätigung

Ich habe eine Website im Staging-Server erstellt. Ich möchte die E-Mail-Adresse des Administrators für diese Staging-Site ändern. Da ich etwas auf der Staging-Site testen möchte, wird zu diesem Zeitpunkt keine E-Mail an den Client gesendet (ursprüngliche Admin-E-Mail), sodass ich die Admin-E-Mail ändern möchte. Die E-Mail-Adresse des Administrators ändert sich erst, wenn ich auf den Link in der Bestätigungs-E-Mail klicke. Nachdem Sie auf den Bestätigungs-Link geklickt haben, erhält der ursprüngliche Admin die Benachrichtigung über Admin-E-Mail-Änderungen Adressbestätigungslink in WordPress Wie mache ich das? Kannst du mir bitte Helfen? Wenn es einen Code dafür gibt?

 enter image description here

18
developerme

Es gibt eine "geheime" Einstellungsseite, auf der Sie alle Einstellungen in der Optionstabelle ändern können.

Greifen Sie darauf zu, indem Sie die URL von /options-general.php in /options.php ändern

58
valerio

Diejenige, die Sie ersetzen möchten, ist die E-Mail in den Wordpress-Einstellungen und nicht die Wp-Benutzer-E-Mail. Dieser kann direkt in der Datenbank in der Tabelle wp_options geändert werden, wobei option_nameadmin_email ist.

Oder mit der angegebenen Aktualisierungsabfrage:

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

Hinweis: Holen Sie sich ein Dump und versuchen Sie es zuerst auf dem lokalen. Testen Sie nicht in der Produktion.

Ändern Sie mit 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";

Überprüfe das auch

3
Abdulla Nilam

Sie müssen den mysql-Server eingeben

und führen Sie die folgende Abfrage aus

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

Einfachere Verwendung von phpMyAdmin

wp_options> admin_email

1
Eric Caudle

Es gibt nur wenige Möglichkeiten, die Administrator-E-Mail-Adresse zu ändern, ohne ein Plugin eines Drittanbieters zu verwenden.

Neben admin_email muss noch ein weiterer Wert geändert werden. Unabhängig davon, ob Sie den Wert admin_email In DB ändern, bleibt eine Bestätigungsmeldung erhalten, es sei denn, Sie ändern auch new_admin_email.

Aktualisierung über die Datenbank:

Bei der direkten Aktualisierung der Option über DB müssen zwei Optionen geändert werden: admin_email Und new_admin_email.

UPDATE wp_options SET option_value = '[email protected]' WHERE 
option_name LIKE 'admin_email' 
OR 
option_name LIKE 'new_admin_email';

Hinweis: Während standardmäßig jede WordPress Datenbank wp_ Präfix für ihre Tabellen hat, können sie sein geändert, überprüfen Sie in wp-config.php für den Wert $table_prefix.

Aktualisierung über options.php:

Ein anderer Weg ohne die Verwendung eines Plugins ist wie erwähnt der Zugriff auf die geheime Seite /wp-admin/options.php. Möglicherweise gibt es jedoch zu viele Optionen, und aufgrund einer Reihe von $_POST - Variablen ist das Limit für jeden Server unterschiedlich festgelegt, sodass es unmöglich ist, es auf diese Weise zu ändern.

Weitere Informationen zu max_input_varshttps://www.php.net/manual/en/info.configuration.php

Aktualisierung über functions.php im aktiven Theme:

Sie können einen Zeitcode in functions.php Ihres aktiven Themes einstellen (und diesen danach löschen), um diese Optionen zu aktualisieren:

update_option( 'admin_email', '[email protected]' );

und

update_option( 'new_admin_email', '[email protected]' ); 

Fügen Sie diese in einen admin_init - Aktionsrückruf ein.

Aktualisierung über wp-cli:

Eine andere Möglichkeit, Admin-E-Mails zu aktualisieren, ist über wp-cli (wenn Sie Zugriff auf Terminal ssh haben):

wp option update admin_email '[email protected]'

und

wp option update new_admin_email '[email protected]'

Weitere Informationen zu wp-Optionsbefehlen:

https://developer.wordpress.org/cli/commands/option/update/

1
niklaz

Sie können die E-Mail-Bestätigung deaktivieren, indem Sie einfach den folgenden Code in Ihre theme function.php einfügen

    remove_action( 'add_option_new_admin_email', 'update_option_new_admin_email' );
remove_action( 'update_option_new_admin_email', 'update_option_new_admin_email' );

/**
 * Disable the confirmation notices when an administrator
 * changes their email address.
 *
 * @see http://codex.wordpress.com/Function_Reference/update_option_new_admin_email
 */
function wpdocs_update_option_new_admin_email( $old_value, $value ) {

    update_option( 'admin_email', $value );
}
add_action( 'add_option_new_admin_email', 'wpdocs_update_option_new_admin_email', 10, 2 );
add_action( 'update_option_new_admin_email', 'wpdocs_update_option_new_admin_email', 10, 2 );
0
Rajnikant Das

Führen Sie diese Abfrage aus. Dadurch wird die E-Mail-ID ohne Bestätigung geändert

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

Ich hatte das gleiche Problem, also schrieb ich ein Plugin, um die Bestätigungslink-Funktion zurückzusetzen. Sie können es auf dem .org-Repo herunterladen:

Admin-E-Mail-Einstellung ohne ausgehende E-Mail ändern

Hier ist der 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