【簡単】WordPressでユーザのパスワード更新を半自動化してみた【初心者の僕でもできた】

IT

はじめに

最近、妻の仕事のひとつとして「Wordpressのユーザのパスワードを月初めに更新する」という作業があり、いつもポチポチ手動で更新作業をしていました。

月初めなので土日も更新作業をする時があります(年末年始もこの作業をしていました)

効率化できないかと色々調べた結果、半自動化することに成功したので、今回はその方法を紹介します。

WordPressでユーザのパスワード更新を半自動化する方法

さっそくですが、以下の方法です。

  • パスワード更新用関数を用意する
  • パスワード更新用関数をCronで動作させる

それぞれ順番にみていきます。

パスワード更新用関数を用意する

まず、パスワード更新用関数を用意します。

具体的にはWordpressの外観テーマエディターを開きます。

右の方のテーマファイルからfunctions.phpを選択します。

ファイル内で以下を追記します。

// パスワード更新用の関数
function password_update_function($password) {
    // wp_set_password(password, userId) : userIdのpasswordを更新する
    wp_set_password($password, 2);
};
add_action( 'password_update_function_cron', 'password_update_function' );

上記コメントで記載していますが、

wp_set_password(password, userId)

により、userIdのpasswordを更新することができます。

また、userIdの確認方法ですが、

管理画面のユーザーユーザー一覧を選択します。

ユーザの一覧が表示されますが、右の方にID列があり、この値を指定します。

今回はID:2のユーザのパスワード更新をしたかったので、wp_set_password($password, 2);と記載しています。

また、以下の部分についてですが、

add_action( 'password_update_function_cron', 'password_update_function' );

これは、password_update_functionpassword_update_function_cronという名前で登録するという意味です。

これはこの後説明するCronで使います。

パスワード更新用関数をCronで動作させる

次に、先ほど作成した関数をCronで動作させます。

Cronとは特定のプログラムを指定した時間に実行するためのプログラムです。

ここでは大きく以下のステップがあります。

  • 「WP Control」プラグインをインストールする
  • Cronを設定する
  • Cronの動作させてみる

それぞれ解説します。

「WP Control」プラグインをインストールする

まず、Cronの設定をするためにプラグインをインストールしましょう。

Cronを設定できるのであれば、他のプラグインでもOKです。

今回はWP Controlをインストールします。

インストール方法は省きますが、Wordpress管理画面のツールCron イベントが表示されるようになればOKです。

Cronを設定する

次に先ほどインストールしたプラグインを使ってCronを設定します。

WordPress管理画面のツールCronイベントを開きます。

その後、新規追加を押します。

設定画面が表示されるので、それぞれ以下を指定し、イベントの追加を押します。

  • イベント種別:Standard cron event
  • フック名:password_update_function_cron
  • 引数:[“パスワード”]  (更新したいパスワードを引数に指定)
  • 次の実行: を選択し、日付と時間を指定
  • 頻度:好きな頻度を選択 (繰り返さないを選択すると、今回の設定が消えてしまうので注意)

押下後、イベントが作成されていることを確認します。

Cronの動作させてみる

ここまでで準備が整ったので、Cronの動作を確認してみます。

以下のいずれかの方法でCronを動作させましょう。

  • イベントにカーソルをあてると今すぐ実行が表示されるのでクリックする→先ほど設定したイベントが即座に実行されます
  • イベントにカーソルをあてると編集が表示されるのでクリックする→次の実行の時間を指定する→その時間になるとイベントが実行されます

動作後、実際にユーザのパスワードが変更されているかを確認してください。

まとめ

今回はWordpressでユーザのパスワード更新を半自動化してみました。
完全に自動化できなくても、Cronで事前に設定することでだいぶ楽になりました。
Wordpressでユーザのパスワード更新を半自動化する記事は意外と見当たらないので、この記事が役に立つと幸いです。

タイトルとURLをコピーしました