我想使用ETL(Talend)在WordPress中创建用户。ETL将在mysql数据库中直接创建用户(表:wp_users)。如何让wordpress为直接在数据库中创建的用户发送欢迎邮件。我给予使用php-myadmin手动创建一个用户,我可以看到新用户没有收到任何欢迎电子邮件。
xcitsw881#
您的问题与直接将用户插入数据库有关。通过这样做,你完全绕过了wordpress程序,这就是为什么没有欢迎电子邮件发送给新创建的用户。一个更好的方法是请求Worpdress Rest API来创建你的用户(虽然没有测试它):我认为这会触发电子邮件发送。如果你不能这样处理,也许你可以创建一个插件,在wp cron系统中注册一个新的cron(因为Wp_User有一个属性user_registered,包含用户创建的日期时间。您可以使用它来检测新用户)。虽然第二种方法也有一个问题:如果一个用户也可以从网站注册(使用wordpress的注册表),你将proentially发送一封欢迎电子邮件,在两个用户,因为你的cron不会有任何线索如何创建用户(从wp或直接在数据库中)。避免这种情况的一种方法是,当直接在DB中创建用户时,添加一个自定义用户Meta(wp_usermeta表),这样你就可以“标记”直接在DB中创建的用户,以便能够在你的cron中识别他们。
nzrxty8p2#
谢谢Dexter 0015我尝试了WordPress API选项:由于某种原因,我无法使用Talend进行身份验证。经过多次重试,我跳过了这个选项,并移动到下一个。选项2是使用CRON代码将用户从表#1插入到表#2,它工作正常。我使用了一个名为WP-control的插件来创建cron,并使用PHP代码做了两件事:1.在数据库中插入用户1.向创建的用户发送电子邮件(因为欢迎电子邮件不是自动发送的)
2条答案
按热度按时间xcitsw881#
您的问题与直接将用户插入数据库有关。
通过这样做,你完全绕过了wordpress程序,这就是为什么没有欢迎电子邮件发送给新创建的用户。
一个更好的方法是请求Worpdress Rest API来创建你的用户(虽然没有测试它):我认为这会触发电子邮件发送。
如果你不能这样处理,也许你可以创建一个插件,在wp cron系统中注册一个新的cron(因为Wp_User有一个属性user_registered,包含用户创建的日期时间。您可以使用它来检测新用户)。
虽然第二种方法也有一个问题:如果一个用户也可以从网站注册(使用wordpress的注册表),你将proentially发送一封欢迎电子邮件,在两个用户,因为你的cron不会有任何线索如何创建用户(从wp或直接在数据库中)。
避免这种情况的一种方法是,当直接在DB中创建用户时,添加一个自定义用户Meta(wp_usermeta表),这样你就可以“标记”直接在DB中创建的用户,以便能够在你的cron中识别他们。
nzrxty8p2#
谢谢Dexter 0015
我尝试了WordPress API选项:由于某种原因,我无法使用Talend进行身份验证。经过多次重试,我跳过了这个选项,并移动到下一个。
选项2是使用CRON代码将用户从表#1插入到表#2,它工作正常。我使用了一个名为WP-control的插件来创建cron,并使用PHP代码做了两件事:
1.在数据库中插入用户
1.向创建的用户发送电子邮件(因为欢迎电子邮件不是自动发送的)