Skip to main content
2 of 2
added 70 characters in body

If you're having an issue where the publish_post hook is being triggered twice you can try using a global variable to keep track of whether the hook has already been triggered.

// Declare a global variable
global $publish_post_hook_triggered;
$publish_post_hook_triggered = false;

add_action('publish_post', 'my_publish_post_function');

function my_publish_post_function($post_id) {
    // Check if the hook has already been triggered
    global $publish_post_hook_triggered;
    if ($publish_post_hook_triggered) {
        return;
    }
    // Set the global variable to indicate that the hook has been triggered
    $publish_post_hook_triggered = true;

    // Your code to run when the hook is triggered
}