Hi Ignacio
I ran a quick test to double-check everything was working and it was (and I'm not sure how it could not be as this is core WordPress functionality, it doesn't have anything particular to do with Toolset).
I added the following code to log when I was saving/updating and publishing a product custom post type:
function test_save_hook( $post_id, $post, $update ){
$updated = ($update) ? "updated" : "saved";
error_log("Post type " . $post->post_type . " was " . $updated);
}
add_action( 'save_post', 'test_save_hook', 10, 3 );
function test_draft_hook( $a, $b, $c ) {
global $post;
error_log("Post type " . $post->post_type . " was published from draft");
}
add_action( 'draft_to_publish', 'test_draft_hook' );
The first function hooks into save_post (which is triggered whenever a post is saved or updated), and the second into draft_to_publish (which is triggered when a draft post is published).
Here's the debug.log output:
[11-Jan-2017 08:34:21 UTC] Post type product was saved
[11-Jan-2017 08:34:27 UTC] Post type product was updated
[11-Jan-2017 08:34:31 UTC] Post type product was updated
[11-Jan-2017 08:34:39 UTC] Post type product was published from draft
[11-Jan-2017 08:34:39 UTC] Post type product was updated
I did a screen recording where you can see the log being generated, too big to upload here: hidden link
The save_post hook is triggered as soon as I add a new post because of the WordPress auto-draft feature, which updates again before I have chance to save as draft myself, and these account for the first 3 items in the log. Then I publish the draft, which triggers the second hook as well as the first hook again.
All of this was entirely as expected.
As I say, the hooks are a core WordPress component, if they don't appear to be working the most likely explanation is that you have a problem in your code.