Для временного решения я сделал следующее:
Я скачал плагин «коррумпированный менеджер cronjob»
Этот плагин позволяет вам запускать пользовательские PHP в определенный интервал времени.
Мой заказ PHP выглядит следующим образом:
<?php
$query = "SELECT * FROM wp_posts
WHERE post_type = 'catalogus'
AND post_date BETWEEN '" . date('Y-m-d', strtotime('-30 days')) . "'
AND '" . date('Y-m-d', strtotime('-29 days')) . "'";
$allposts = $wpdb->get_results($query);
if($allposts){
foreach ($allposts as $post) {
// get post name for url
echo "http://xxxxxx.xxx/product/".$post->post_name;
// get author email to send mail to.
$to = get_the_author_meta('email',$post->post_author);
$subject = "XXXXXXXXXXX";
$headers = "From: XXXXX <[email protected]>";
$message = "Dummy message";
wp_mail($to, $subject, $message, $headers, $attachments);
}
}
else{
echo "No posts";
}
?>
Это еще не идеальное решение, потому что, как Крис уже упоминалось выше, это cronjob будет работать только тогда, когда посетитель делает запрос, мой следующий шаг должен написать реальное задание cron или запланированное задание, которое выполнит приведенный выше код.
Вы должны написать пользовательский код, вероятно. Вам нужно создать php-скрипт, который будет SELECT сообщений через 30 дней(). Вероятно, весь день для этого, что означает сообщения 30 дней назад с 00:00:00 до 23:59:59. Затем для каждого найденного сообщения получите электронное письмо и заголовок сообщения и используйте mail(), чтобы отправить им напоминание. Делайте это каждый день с ежедневной настройкой cron. – Panagiotis