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;
}
}