返回

发布 WordPress 文章后自动发送未查看文章通知的 Cron 作业设置

php

创建在发布每个 WordPress 文章后运行的 Cron 作业

简介

对于活跃的 WordPress 博客,监控用户参与度和确保他们及时了解新内容至关重要。通过在发布每个帖子后安排 Cron 作业,你可以自动执行这个过程,确保用户收到重要更新。

步骤详解

安装 WP Crontrol 插件

首先,你需要安装并激活 WP Crontrol 插件。该插件提供了一个直观的界面,用于创建和管理 Cron 作业。

配置 Cron 作业

进入“工具”>“Cron Control”并点击“添加新作业”。配置以下设置:

  • 作业名称: 选择一个性的名称,例如“发送未查看文章电子邮件”。
  • 执行时间: 设置作业在发布后每周运行一次。
  • 时间间隔: 设置为“7 天”。
  • 执行时间: 选择作业运行的时间,例如凌晨 3 点。

设置作业动作

  • 任务类型: 选择“PHP 代码”。
  • 代码: 输入以下代码,用于检查用户是否已查看文章并发送未查看文章的列表:
<?php
// 获取所有用户
$users = get_users();

// 获取发布后的所有文章
$args = array(
    'post_type' => 'post',
    'post_status' => 'publish',
    'date_query' => array(
        array(
            'after' => '7 days ago',
        ),
    ),
);
$posts = get_posts($args);

// 循环所有用户
foreach ($users as $user) {
    // 获取用户已查看的文章列表
    $viewed_posts = get_user_meta($user->ID, 'viewed_posts', true);

    // 循环所有文章
    foreach ($posts as $post) {
        // 检查用户是否已查看文章
        if (!in_array($post->ID, $viewed_posts)) {
            // 将文章添加到未查看列表
            $unviewed_posts[] = $post->post_title;
        }
    }

    // 如果存在未查看文章,则发送电子邮件
    if (!empty($unviewed_posts)) {
        $to = $user->user_email;
        $subject = '未查看文章';
        $body = '您有以下未查看文章:' . PHP_EOL . implode(PHP_EOL, $unviewed_posts);

        wp_mail($to, $subject, $body);
    }
}
?>

保存作业

点击“保存作业”按钮。

测试 Cron 作业

等待作业运行或手动运行它以确保其正常工作。

好处

这种 Cron 作业可以为你提供以下好处:

  • 自动化用户参与度监控
  • 确保用户及时收到重要更新
  • 通过电子邮件列表细分提高电子邮件营销活动的效果

常见问题解答

1. 我可以设置作业在不同时间运行吗?
是的,你可以在“执行时间”设置中选择所需的运行时间。

2. 我可以配置作业发送不同类型的电子邮件吗?
是,你可以修改代码以发送摘要电子邮件,其中包含发布后一段时间内未查看的所有文章的列表。

3. 如何排除特定用户或文章?
你可以在代码中添加条件语句来排除特定用户或文章。

4. Cron 作业会影响我的网站性能吗?
它不会,因为作业在非高峰时段运行。

5. 如何在 WordPress 中调试 Cron 作业?
你可以使用 WordPress 调试日志或 wp_cron_schedules 函数。

结论

通过创建在发布每个 WordPress 文章后运行的 Cron 作业,你可以自动化用户参与度监控,确保你的读者及时了解新内容并提高你的电子邮件营销活动的效果。