You can’t schedule a future email from wp_mail * but you can use wp_schedule_single_event to run in 24 hours time, and write an action hook handler that calls wp_mail() to send your mail, e.g. something like
wp_schedule_single_event( time() + (60*60*24), 'send_new_user_next_day_email', args( $userId ) );
function send_new_user_next_day_email( $userId ) {
// look up the user and call wp_mail()
}
add_action( 'send_new_user_next_day_email', 'send_new_user_next_day_email', 10, 1 );
Note that this runs on the WordPress cron system and so will trigger when you next get traffic on the site after the 24 hours are up. You can however set up system scheduler events to trigger cron events even when there’s no website traffic – see the wordpress.org cron docs.
* unless the mail server you’re sending through supports it, e.g. Office 365 does, but I’m not sure what mail headers etc. you’d need to set up to do that.
Related Posts:
- I can’t fetch query parameters ($_GET parameters) with get_query_var
- Change Password Hint
- Dynamic URL to reference custom PHP files
- Prevent multiple counts by same user – WP PostViews plugin
- Second select list values are not saved after clicking update
- Use wc_enqueue_js only on specific pages – nested add_action
- How to use a frontend URL with a Plugin
- WordPress template_include filter not working properly
- “The plugin generated 2694 characters of unexpected output…” on Plugin activation, CREATE TABLE sql command not working
- How to display a value from a radio button in the options menu in wordpress
- Why WordPress architecture is not pure object oriented and it don’t use MVC pattern? [closed]
- Different Webhost and using Google Mail server: Is there a better way than SMTP?
- How to access function from outside of a class within this class in WP plugin?
- How can i display post loop in table format?
- PHP can I add line numbers to file_get_contents()
- How to call function at the bottom of post using plugin?
- WP add_action factory
- Swapping wp_dropdown_categories function with wp_category_checklist
- How to show phpinfo() only in a new tab?
- How can I remove a function that has been added to wordpress with add_filter?
- PHP 8, AJAX mail form to function.php doesn’t work
- what is the best practice to add new field to an api route
- How do I programmatically set a user as spam in BuddyPress? [closed]
- How to use $_GET function WordPress backend
- WP CRON duplicate wp_insert_post with has < and > tag
- How to send Ajax request from my plugin in admin dashboard?
- Extend PHP regex to cover “srcset” and “style” attributes
- AJAX success response is not working but it’s saving my changes
- Best practice for show data to one specific user?
- How can I hide that I Use WordPress (with W3 Total Cache)
- Saving plugin settings – ERROR: options page not found
- class_exists returns different values [closed]
- Can’t print Yoast meta description into page template (syntax error, unexpected ‘.’) [closed]
- Asynchronous multiple requests 401 Unauthorized
- Custom array from a query only write the last row of the query
- Using data sent via AJAX in multiple functions on a WP plugin
- Is it possible to define variables in a wordpress shortcode, and then call the shortcode using a specific variable?
- Change product_base programmatically
- How to remove the message ‘We could not find any results for your search’ without changing template files and without adding posts/pages?
- How to add the sidebar to all the pages except the home page? [closed]
- Custom meta box values are not getting saved for my custom post type
- WordPress shortcode returns the data before
- Pass Variables or Variable Place-Holder from Editor to PHP
- Plugin development and composer
- Can’t upload CSV file to plugin directory using custom upload form in admin panel
- Validate and Sanitize WP REST API Request using WP JSON Schema?
- Set default Database Storage Engine when creating tables with plugins?
- Send notification email to admin for every new post published
- custom post type with role Vendor
- Can I remove or edit an include() from a function with a filter?
- Call to undefined function error in plugin
- How do I make this Metabox show current DB value?
- Execute Jquery when a specific page in my plugin is loading
- Get category id when SEO URL is turned on
- Ajax on the Administration Side of plugin – wp_localize_script – how to pass value from JQuery to PHP function in class?
- Using ACF Relationship field to set post type to draft or published status
- How to extend SelectControl with data from my theme
- How to change basename url for wp-admin?
- Only the first image uploads
- Illegal string offset checkbox
- Custom plugin: how do I call a PHP file if settings option is set to true?
- Trying to use a variable to set image width
- How can i avoid duplicate same post in wp?
- How do I disable cache for a certain page?
- How to check if plugin update process completed in wordpress?
- How to identify which php file a plugin is using on page load?
- dashboard widget form not submit mails
- using filter and hook inside class
- How does one make a URL return dynamic JSON with custom Content Type?
- How to give custom roles the capability to edit one Menu instead of every Menu
- Premature end of script headers: wp-mail.php?
- Priority call methods – PHPMailer->addAddress(NULL)
- How to properly escape in ternary operators – Wp Coding Standards?
- Add Admin Option w/ Anonymous Function
- add menu page in loop menu order
- defined (‘ABSPATH’) false after AJAX post to other PHP-file
- How to send logs to plugin owner for a plugin?
- Force CSV download with template_redirect
- Private messaging – Getting and displaying the avatar/url of a message recipient
- How to use foreach and if statement within array of arrays?
- widget: input the px value from user and use it as inline style in widget function
- Custom post type single page return to listing page
- WordPress rewrite question
- Using Nonce for my Form
- Create new folder and upload files to custom folder via wp_handle_upload
- How to edit the default database of WordPress [closed]
- SHARING TO FACEBOOK – FROM DYNAMICALLY GENERATED PAGE
- Cookie not created in AJAX request
- How to automatically convert images to WebP on WordPress?
- Check user last login date
- Transate plugin with js & wp_localize_script
- WP Custom tables query
- Import js variables loaded via wp_localize_script() into js module without global scope connection
- Login user into magento using wordpress account
- How to pass and validate nonce in custom REST routes
- ajax problems on loading page [closed]
- Customize create table SQL statement in any WordPress plugin
- Does it make sense to sanitize the output of an SVG file?
- how to escape alert/window.location.replace with variable
- check difference between two timestamp in custom plugin