register_status(); add_action('admin_footer', array($this, 'append_post_status_list')); add_filter('display_post_states', array($this, 'display_post_states')); } public static function setup() { return new self(); } protected function register_status() { register_post_status( BOOKED_WC_PLUGIN_PREFIX . 'awaiting', array( 'label' => _x('Awaiting Payment', 'booked-woocommerce-payments'), 'public' => true, 'exclude_from_search' => false, 'show_in_admin_all_list' => true, 'show_in_admin_status_list' => true, 'label_count' => _n_noop('Awaiting Payment (%s)', 'Awaiting Payment (%s)'), ) ); return $this; } public function append_post_status_list() { global $post; if( $post && $post->post_type===BOOKED_WC_POST_TYPE ) { $post_status = BOOKED_WC_PLUGIN_PREFIX . 'awaiting'; $complete = ''; $label = ''; if( $post->post_status===$post_status ) { $complete = ' selected=\"selected\"'; $label = ' ' . __('Awaiting Payment', 'booked-woocommerce-payments') . ''; } echo ' '; } } public function display_post_states( $states ) { global $post; $arg = get_query_var( 'post_status' ); $post_status = BOOKED_WC_PLUGIN_PREFIX . 'awaiting'; if($arg!==$post_status && $post->post_status===$post_status) { return array(__('Awaiting Payment', 'booked-woocommerce-payments')); } return $states; } }