由于自动保存功能,帖子将始终存在于WordPress中,一旦输入内容,就会将其插入数据库。所以你不能阻止一个条目,但是你可以在用户点击帖子上的“发布”或“保存”后使用wp_insert_post
, 或save_post
. 通过此操作,您可以执行条件检查,并将post\\u状态从publish更改为draft,或更改插件所需的任何内容。
例如:
function _myplugin_save_post_check($post_id) {
// If this is a revision, get real post ID
if ( $parent_id = wp_is_post_revision( $post_id ) )
$post_id = $parent_id;
// Do whatever conditional checks you want here, like checking the custom feilds values
$custom_feilds = get_post_meta( $post_id, \'whatever\', true );
if ( empty( $custom_feilds ) ) {
// unhook this function so it doesn\'t loop infinitely
remove_action( \'save_post\', \'_myplugin_save_post_check\' );
// update the post as unpublished, or whatever
wp_update_post( array( \'ID\' => $post_id, \'post_status\' => \'draft\' ) );
// re-hook this function
add_action( \'save_post\', \'_myplugin_save_post_check\' );
}
}
add_action( \'save_post\', \'_myplugin_save_post_check\' );
如果自定义元字段
\'whatever\'
为空。