prashantcs053
7/3/2017 - 11:21 AM

custom post status for CPT

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');