custom post status for CPT
function vf_custom_post_status_accepted() {
register_post_status('accepted', array(
'label' => _x('Accepted', 'retailers'),
'public' => true,
'show_in_admin_all_list' => false,
'show_in_admin_status_list' => true,
'label_count' => _n_noop('Accepted <span class="count">(%s)</span>', 'Accepted <span class="count">(%s)</span>')
));
}
add_action('init', 'vf_custom_post_status_accepted');
function vf_append_post_status_list_accepted() {
global $post;
$complete = '';
$label = '';
if ($post->post_type == 'retailers') {
if ($post->post_status == 'accepted') {
$complete = "selected='selected'";
$label = "<span id='post-status-display'>Accepted</span>";
?>
<script>
jQuery(document).ready(function () {
jQuery("#post-status-display").text("Accepted");
});
</script>
<?php
}
?>
<script>
jQuery(document).ready(function () {
jQuery("select#post_status").append("<option value='accepted' <?php echo $complete; ?> >Accepted</option>");
jQuery(".misc-pub-section label").append("<?php echo $label; ?>");
});
</script>
<?php
}
}
add_action('admin_footer-post.php', 'vf_append_post_status_list_accepted');
function vf_display_accepted_state($states) {
global $post;
$arg = get_query_var('post_status');
if ($arg != 'accepted') {
if ($post->post_status == 'accepted') {
return array('Accepted');
}
}
return $states;
}
add_filter('display_post_states', 'vf_display_accepted_state');