返回
发布 WordPress 文章后自动发送未查看文章通知的 Cron 作业设置
php
2024-03-03 04:07:53
创建在发布每个 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 作业,你可以自动化用户参与度监控,确保你的读者及时了解新内容并提高你的电子邮件营销活动的效果。