有条件的自动保存还是自动草稿?

时间:2015-06-10 作者:Juan Rangel

我正在尝试使用创建文件fopen() 在…上save_post. 我很难找到正确的条件来阻止通过自动保存创建文件。我只想在单击发布帖子时创建文件。当前,该文件是在我单击“添加新内容”和填写标题时创建的。

我尝试了几种组合使用wp_is_post_revision()wp_is_post_autosave() 任何帮助都将不胜感激。

2 个回复
SO网友:josh

如果您正在使用save_post 动作钩;然后,可以使用以下条件阻止代码在自动保存期间执行:

function do_not_autosave( $post ) {

    // Check to see if we are autosaving
    if (defined(\'DOING_AUTOSAVE\') && DOING_AUTOSAVE)
        return;

    // Rest of the code here
}
add_action( \'save_post\', \'do_not_autosave\');

SO网友:Α. Papadakis

虽然这是一个旧答案,但您应该检查帖子状态,当您创建帖子(开始编辑之前)时,它具有帖子状态auto-draft.

因此,代码应该是:

function my_theme_name_save_post_callback($post_id, $post) {    
    if ( !wp_is_post_autosave( $post ) && $post->post_status !== \'auto-draft\' && 
         !wp_is_post_revision( $post_id ) ) {

       /* your code here */

    }
}
add_action(\'save_post\', \'my_theme_name_save_post_callback\', 10, 3);
替换(&Q);“我的主题名”;作为最佳实践,请在主题名称(slug)前加上前缀。https://developer.wordpress.org/plugins/plugin-basics/best-practices/#prefix-everything

结束

相关推荐

Hooks for Links Box

Possible Duplicate:Getting archive pages in WP's AJAX internal link finder? 新的有挂钩吗internal links box 创建于WP 3.1? 我正在尝试在插件中修改它。