function my_custom_status_creation(){
register_post_status( 'approved', array(
'label' => _x( 'Песочница', 'post' ),
'label_count' => _n_noop( 'Песочница <span class="count">(%s)</span>', 'Песочница <span class="count">(%s)</span>'),
'public' => false,
'exclude_from_search' => true,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true
));
}
add_action( 'init', 'my_custom_status_creation' );
function my_custom_status_add_in_quick_edit() {
echo "<script>
jQuery(document).ready( function() {
jQuery( 'select[name=\"_status\"]' ).append( '<option value=\"sandbox\">Песочница</option>' );
});
</script>";
}
add_action('admin_footer-edit.php','my_custom_status_add_in_quick_edit');
function my_custom_status_add_in_post_page() {
echo "<script>
jQuery(document).ready( function() {
jQuery( 'select[name=\"post_status\"]' ).append( '<option value=\"sandbox\">Песочница</option>' );
});
</script>";
}
add_action('admin_footer-post.php', 'my_custom_status_add_in_post_page');
add_action('admin_footer-post-new.php', 'my_custom_status_add_in_post_page');
// Эта функция делает все записи Пользователя со статусом sandbox/*
add_action( 'save_post', 'set_sandbox' );
function set_sandbox( $post_id ){
/* if (get_user_meta(get_post($post_id)->post_author, 'account_key', 1) == 'Пользователь'){
}*/
// Получим реальный ID поста, если это ревизия
if ( $parent_id = wp_is_post_revision( $post_id ) )
$post_id = $parent_id;
// Удаляем хук, чтобы не было зацикливания
remove_action( 'save_post', 'set_sandbox' );
// обновляем запись. В это время срабатывает событие save_post
wp_update_post( array( 'ID' => $post_id, 'post_status' => 'sandbox' ) );
// Ставим хук обратно
add_action( 'save_post', 'set_sandbox' );
}