向直接在数据库中创建的新WordPress用户发送欢迎电子邮件

c90pui9n  于 2023-08-03  发布在  WordPress
关注(0)|答案(2)|浏览(105)

我想使用ETL(Talend)在WordPress中创建用户。ETL将在mysql数据库中直接创建用户(表:wp_users)。
如何让wordpress为直接在数据库中创建的用户发送欢迎邮件。
我给予使用php-myadmin手动创建一个用户,我可以看到新用户没有收到任何欢迎电子邮件。

xcitsw88

xcitsw881#

您的问题与直接将用户插入数据库有关。
通过这样做,你完全绕过了wordpress程序,这就是为什么没有欢迎电子邮件发送给新创建的用户。
一个更好的方法是请求Worpdress Rest API来创建你的用户(虽然没有测试它):我认为这会触发电子邮件发送。
如果你不能这样处理,也许你可以创建一个插件,在wp cron系统中注册一个新的cron(因为Wp_User有一个属性user_registered,包含用户创建的日期时间。您可以使用它来检测新用户)。
虽然第二种方法也有一个问题:如果一个用户也可以从网站注册(使用wordpress的注册表),你将proentially发送一封欢迎电子邮件,在两个用户,因为你的cron不会有任何线索如何创建用户(从wp或直接在数据库中)。
避免这种情况的一种方法是,当直接在DB中创建用户时,添加一个自定义用户Meta(wp_usermeta表),这样你就可以“标记”直接在DB中创建的用户,以便能够在你的cron中识别他们。

nzrxty8p

nzrxty8p2#

谢谢Dexter 0015
我尝试了WordPress API选项:由于某种原因,我无法使用Talend进行身份验证。经过多次重试,我跳过了这个选项,并移动到下一个。
选项2是使用CRON代码将用户从表#1插入到表#2,它工作正常。我使用了一个名为WP-control的插件来创建cron,并使用PHP代码做了两件事:
1.在数据库中插入用户
1.向创建的用户发送电子邮件(因为欢迎电子邮件不是自动发送的)

相关问题