在创建帖子后通过电子邮件通知用户

时间:2020-07-03 作者:Gabriel Borges

我有一个按钮,用户在点击后创建帖子。我想在10分钟后通知他。我不知道用PHP做这件事的最佳方法。我知道如何发送电子邮件,但我不知道如何在活动后的特定时间安排此电子邮件。有人有主意吗?

1 个回复
SO网友:Rup

wp_schedule_single_event:

$in_ten_minutes = time() + 10 * 60;
$post_id = get_the_ID();
wp_schedule_single_event( $in_ten_minutes, \'notify_post_event\', array( $post_id ) );
或者类似的-我不知道它是否只是您需要的post ID,或者在处理此操作时,get\\u the\\u ID()是否是找到它的正确方法。取决于按钮的位置以及您想要如何处理按钮按下(AJAX?返回页面?)这可能需要放在AJAX处理程序中的某个地方,并传入post ID和任何其他值。

您还需要一个处理函数,例如。

function notify_post_event_handler( $post_id ) {
    $the_post = get_post( $post_id );
    $author_email = get_the_author_meta( \'user_email\', $the_post-post_author );

    wp_mail( $author_email,
        \'Here is your ten minute reminder\',
        \'Post: \' . get_post_permalink( $post_id ) );
}
add_action( \'notify_post_event\', \'notify_post_event_handler\', 10, 1 );
这将在10分钟后由wp\\u cron处理触发,因此,如果您没有足够的恒定访问量,无法在10分钟后自动触发wp\\u cron作业,则需要确保设置了定期触发wp\\u cron作业的内容。

相关推荐

在WordPress页面中使用php变量

我使用Wordpress让我的客户登录到该网站,将数据放在自定义表中,并将其保存在数据库表中。通过我在Functions中输入的代码“example”。php主题我可以在屏幕顶部返回我的电子邮件。代码如下。$ current_user = wp_get_current_user (); $ logado1 = $ current_user-> user_email; echo $ logged1; 然而,通过一个新的空白页面,我可以放置HTML使其正常工作,包括通过插件