Send Delayed SMS to New Subscribers

Schedule SMS messages to be sent days after subscription.

Send SMS messages to new subscribers after a specified delay, such as a follow-up message 3 days after subscription.

Implementation

Add this code to your theme’s functions.php file:

add_action('wp_sms_add_subscriber', 'sendDelayedSmsToNewSubscribers', 10, 2);

function sendDelayedSmsToNewSubscribers($name, $mobile)
{
    WPSms()->scheduled()::add(
        date('Y-m-d H:i:s', strtotime('+3 day')),
        \WP_SMS\Option::getOption('gateway_sender_id'),
        sprintf('Hello %s, thank you for subscribing!', $name),
        [$mobile]
    );
}

How It Works

  1. Hook: wp_sms_add_subscriber fires when a new subscriber is added
  2. Schedule: Creates a scheduled SMS for 3 days in the future
  3. Personalize: Uses subscriber name in the message
  4. Send: Automatically sends when the scheduled time arrives

Customization

Change Delay Duration

Adjust the delay by modifying the strtotime() parameter:

// 1 day delay
date('Y-m-d H:i:s', strtotime('+1 day'))

// 1 week delay
date('Y-m-d H:i:s', strtotime('+1 week'))

// 1 hour delay
date('Y-m-d H:i:s', strtotime('+1 hour'))

// 30 minutes delay
date('Y-m-d H:i:s', strtotime('+30 minutes'))

Custom Message

Customize the message content:

$message = sprintf(
    'Hi %s! We have a special offer for you. Visit our site today!',
    $name
);

Multiple Delayed Messages

Send multiple messages at different intervals:

add_action('wp_sms_add_subscriber', 'sendMultipleDelayedSms', 10, 2);

function sendMultipleDelayedSms($name, $mobile)
{
    $senderId = \WP_SMS\Option::getOption('gateway_sender_id');

    // Day 1: Welcome
    WPSms()->scheduled()::add(
        date('Y-m-d H:i:s', strtotime('+1 day')),
        $senderId,
        sprintf('Welcome %s! Thanks for joining.', $name),
        [$mobile]
    );

    // Day 3: Tips
    WPSms()->scheduled()::add(
        date('Y-m-d H:i:s', strtotime('+3 days')),
        $senderId,
        'Here are some tips to get started...',
        [$mobile]
    );

    // Day 7: Offer
    WPSms()->scheduled()::add(
        date('Y-m-d H:i:s', strtotime('+7 days')),
        $senderId,
        'Special offer just for you! Use code WELCOME10',
        [$mobile]
    );
}

Last updated: December 28, 2025