質問: wp_generate_password( 12, true ); wp_set_password( $password, 1 ); } add_action ( 'auto_cron', 'my_auto_function' ); /** * イベント登録時の指定 */ if ( !wp_next_scheduled( 'auto_cron' ) ) { date_default_timezone_set('Asia/Tokyo'); wp_schedule_event(strtotime('2021-05-25 13:55:00'), 'daily', 'auto_cron'); } function my_function () { //パスワードを出力させる関数を書きたい global $password; echo $password; } ``` ### 試したこと おそらくglobal関数で生成したパスワードを他の関数でも使用させるようにしたいのですが、上手く表示されないです my_auto_functionを使用せずにglobal関数で変数をセットすれば変数は渡されます どのようにすればいいでしょうか お心優しい方お答えいただければ幸いです
回答: global変数は同一プロセス中でしか共有されません 別プロセスで値を共有したいのであれば データベースに保存するなどする必要があります 基本的に生のパスワードを保持するのはセキュリティー上の懸念があり WordPressもDBにはハッシュ化された値しか保持しておらず復号もできません なのでWordPressのデータベースから設定されたパスワードを取得することはできません 設定したパスワードの表示をしたいのであれば パスワードの値を自分でどこかに保存しておかなくてはいけません 簡単にデータベースに値を保存・取得したいのであればwp_optionsでできます 蛇足: 1日限定で誰でも使える権限の限定されたオープンなアカウントを用意したい ということなどが目的であればいいですが もしセキュリティー強化のためにパスワードを短い期間で変更したい という目的であればそのアプローチは逆効果です