I have this function where I call a custom function through the add_action hook:
add_action('publish_post', 'custom_function');
… now it works perfectly, but the I want the custom_function to be delayed so it runs AFTER the post has been published.
BUT, if I add sleep(20)
inside the custom_function
it delays the post itself. What I want is the post to be published, and THEN run this function after x seconds.
Thanks!
publish_post
is called after post is published! So, you already got covered. but if you want to run an action after a certain time of the post is published, it’s better to write a cron job.For example, if you need to run the function after 5 minutes of the post is published, you need to register a single cron event that will be triggered after 5 minutes from now (post publish)
Please check the api details here.
But this system has one problem, it will not be triggered until site is loaded/visited on or after the scheduled time.