我寫了下面的函數,當發佈帖子時將通過電子郵件發送給每個用戶。它工作得很好,但我遇到的問題是,由於需要通過while循環運行的次數,發佈帖子可能需要一些時間。目前有110名成員。在WordPress中延遲循環
現在對於我的問題,是否有一個簡單的方法來延遲這個過程,以便後可以發佈然後電子郵件發送功能是在後臺照顧作爲一項任務?
function send_email_notifications() {
$args = array(
'post_type' => 'members',
'orderby' => 'title',
'order' => 'ASC',
'posts_per_page' => -1,
'post_parent' => 0,
'post_status' => array('pending', 'draft', 'publish'),
);
$emailSearch = new WP_Query($args);
if(isset($_REQUEST['send_email_notification'])) {
if($emailSearch->have_posts()) {
while($emailSearch->have_posts()) {
$emailSearch->the_post();
wp_mail('[email protected]', 'Test', 'Test');
}
}
}
}
add_action('publish_notifications', 'send_email_notifications', 10, 2);
當然。 「工作調度程序」就是你正在尋找的。 – arkascha