self::get_label( self::STATUS_PRIVATE_WITH_PUBLIC_LISTING ), 'exclude_from_search' => false, 'public' => true, ) ); register_post_status( self::STATUS_PRIVATE, array( 'label' => self::get_label( self::STATUS_PRIVATE ), 'exclude_from_search' => true, 'private' => true, ) ); } public static function video_privacy_from_post_status( $post_status ) { switch ( $post_status ) { case self::STATUS_PUBLISHED: return VIDEOPRESS_PRIVACY::IS_PUBLIC; case self::STATUS_DRAFT: case self::STATUS_PRIVATE_WITH_PUBLIC_LISTING: case self::STATUS_PRIVATE: default: return VIDEOPRESS_PRIVACY::IS_PRIVATE; } } public static function is_valid_post_status( $post_status ) { return in_array( $post_status, array( self::STATUS_PUBLISHED, self::STATUS_DRAFT, self::STATUS_PRIVATE_WITH_PUBLIC_LISTING, self::STATUS_PRIVATE, ), true ); } public static function get_list() { return array( self::STATUS_PUBLISHED => __( 'Public', 'videopress-hq' ), self::STATUS_PRIVATE => __( 'Private', 'videopress-hq' ), self::STATUS_PRIVATE_WITH_PUBLIC_LISTING => __( 'Private with public listing', 'videopress-hq' ), self::STATUS_DRAFT => __( 'Draft', 'videopress-hq' ), ); } public static function get_label( $post_status ) { $post_status_list = self::get_list(); return $post_status_list[ $post_status ] ?? ''; } }