スタンドアロンスクリプトを介してユーザーを作成したいです。ユーザーの追加画面からユーザーが作成されたときと同じ方法で、アクティベーションEメールを送信します。パスワードを作成するためのリンクが記載された電子メールが送信されます。メールにパスワードがありません。
新しいユーザーを作成するためのさまざまな機能があるようです。
またあります
以下は私が持っているコードです。新しいユーザーを作成しますが、通知メールではありません。 wp-mail()とphp mail()が正しく動作していることを確認しました。
これが正しい方向かどうかはわかりません。もっと簡単な方法があると思います。これが正しい方向である場合、なぜ通知が送信されないのかについての何らかの問題点はありますか
ありがとう。
<?php
define( 'SHORTINIT', true );
require_once( '/var/www/html/mysite/wp-load.php' );
require_once ('/var/www/html/mysite/wp-includes/user.php');
require_once ('/var/www/html/mysite/wp-includes/formatting.php');
require_once ('/var/www/html/mysite/wp-includes/capabilities.php');
require_once ('/var/www/html/mysite/wp-includes/pluggable.php');
require_once ('/var/www/html/mysite/wp-includes/kses.php');
require_once ('/var/www/html/mysite/wp-includes/meta.php');
function __() {}
wp_create_user ( 'testuser8', 'apsswd', '[email protected]' );
wp_new_user_notification ( testuser8,null,'both' );
?>
コーデックスページをwp_create_user に読み替えてください。
あなたはあなたのコードが実行されるコンテキストを説明しません。あなたはそれらすべてのrequire_once
呼び出しを必要とするべきではありません。
とにかく、この行でwp_new_user_notification ( testuser8,null,'both' );
testuser8
は何ですか?これは変数ではなく、文字列でもありません。おそらくエラーをスローするのは単なるテキストです。
試してください:
$user_id = wp_create_user ( 'testuser8', 'apsswd', '[email protected]' );
if( is_wp_error( $user_id ) )
var_dump( $user_id );
else
wp_new_user_notification ( $user_id, null,'both' );
WP-CLIの User Create を使用してスクリプトを作成します。
wp user create
- ユーザーを作成します.
$ wp user create testuser8 [email protected] --user_pass=apsswd--role=author --send-email
Success: Created user 3.