我明白这一点save_post
钩子可以根据自动保存、修订等情况多次开火。
考虑到这一点,我有一个save_post
挂钩设置为
add_action( \'save_post\', \'do_stuff\', 5000, 2 );
function do_stuff($post_id, $post) {
在函数开始时,我有
if (isset($post->post_status) && \'auto-draft\' == $post->post_status) {
return;
}
// Autosave, do nothing
if (defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE) {
return;
}
// AJAX? Not used here
if (defined(\'DOING_AJAX\') && DOING_AJAX) {
return;
}
if( wp_is_post_revision( $post_id) || wp_is_post_autosave( $post_id ) ) return;
我想这可以确保一次成功。但是,当在后期编辑中点击Update时,我从一些日志中看到,我正在做的是,钩子被调用了两次。
也许这与我有一个自定义Gutenberg块插件来扩展核心块有关?在我的插件php文件中,除了加载插件的js之外,我没有其他内容。所以我不确定这个插件在这里会起什么作用。
无论如何,只是好奇我是否遗漏了一些明显的东西。。。
谢谢