管理者メールアドレスを変更したい!通常だと変更すると「確認のため新しいアドレスにメールを送信します。」のメールが届くのですがメールが来ない。
そんな時、管理者メールアドレスを変更する方法を答えていきます。
この記事の内容は、
- functions.phpに追記
- options.phpで書き換える
- DBにアクセスして書き換える
この記事を書いている僕は、wordpress案件50件以上のカスタマイズ、プログラム歴は10年以上です。
管理者メールアドレス変更のメールアドレスが届かない。原因はAWS環境でメール送信するAmazon SESを利用していなかったからでした。この案件ではフォームメールなど無かったのです。
メールアドレス変更のためにSESを利用するのは無駄なので別の方法で変更します。
functions.phpに追記してメールアドレス変更できるようにする
functions.phpにメール送信アクションをリムーブする記述を追記します。
remove_action( 'add_option_new_admin_email', 'update_option_new_admin_email' );
remove_action( 'update_option_new_admin_email', '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 );
キャンセルした後、メールアドレスを入力して変更を保存をすると
認証なしに変更することができました。
options.phpにアクセスして変更する
wordpressには、options.phpという設定ページがあります。
メニューからはリンクされていないので、直接URL入力してアクセスします。
https://サイトURL/wp-admin/options.php
様々な設定項目が表示されます。
その中のadmin_email項目、new_admin_email項目の2箇所が管理者メールアドレスです。
この入力欄に新しいメールアドレスを入力して変更を保存で、
認証なしに変更することができました。
データベースにアクセスして変更する
wordpressの情報はデータベースに保存されています。
データベースにアクセスして直接データを変更します。
phpMyAdminなどでoptionsテーブルのadmin_emailを変更します。
macだと、sequel proやTablePlusなどのデータベース接続クライアントを使用するとわかりやすいです。GUIで所定の箇所を認証なしに変更することができました。
まとめ「管理者メールアドレスを変更できない時に変更するにはoptions.php経由が簡単」
管理者メールアドレスを変更したけど、確認のメールが届かない!
例えば、AWS環境でAmazonSESを使用していない時など。
そんな時は、options.phpにアクセスして管理者メールアドレスを認証なしに変更するのが簡単です。
https://サイトURL/wp-admin/options.php
conohaレンタルサーバーで変更できるのを確認しています。
コメント