it-swarm.com.de

Beste Möglichkeit, einen Benutzer programmgesteuert zu erstellen

Ich möchte einen Benutzer über ein eigenständiges Skript erstellen. Ich möchte, dass eine Aktivierungs-E-Mail gesendet wird, genau wie beim Erstellen eines Benutzers über den Bildschirm Benutzer hinzufügen. Eine E-Mail mit einem Link zum Erstellen des Kennworts wird angezeigt. Die E-Mail enthält kein Passwort.

Es scheint verschiedene Funktionen zu geben, um neue Benutzer anzulegen.

Es gibt auch

  • wp-admin/user-new.php

Unten ist der Code, den ich habe. Es wird ein neuer Benutzer erstellt, jedoch nicht die Benachrichtigungs-E-Mail. Ich habe überprüft, ob wp-mail () und php mail () korrekt funktionieren.

Ich bin mir nicht sicher, ob dies die richtige Richtung ist. Ich habe das Gefühl, dass es einen einfacheren Weg gibt. Wenn dies die richtige Richtung ist, gibt es Hinweise, warum die Benachrichtigung nicht gesendet wird?

Vielen Dank.

<?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' );
?>
2
user3185563

Sie sollten die Codex-Seite zu wp_create_user lesen.

Sie beschreiben nicht den Kontext, in dem Ihr Code ausgeführt wird. Sie sollten nicht alle diese require_once-Aufrufe benötigen.

Wie auch immer, in dieser Zeile wp_new_user_notification ( testuser8,null,'both' ); was ist testuser8? Es ist keine Variable, es ist keine Zeichenfolge, es ist nur ein Text, der wahrscheinlich einen Fehler ausgibt.

Versuchen:

$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' );
4
shanebp

Verwenden Sie WP-CLIs User Create und fügen Sie ein Skript ein.

wp user create - Erstellen Sie einen Benutzer.

$ wp user create testuser8 [email protected] --user_pass=apsswd--role=author --send-email
Success: Created user 3.
2
jgraup