__( 'Archived', 'archived-post-status' ), 'public' => apply_filters( 'aps_status_arg_public', false ), 'exclude_from_search' => apply_filters( 'aps_status_arg_exclude_from_search', true ), 'show_in_admin_all_list' => apply_filters( 'aps_status_arg_show_in_admin_all_list', true ), 'show_in_admin_status_list' => apply_filters( 'aps_status_arg_show_in_admin_status_list', true ), 'label_count' => _n_noop( 'Archived (%s)', 'Archived (%s)', 'archived-post-status' ), ); register_post_status( 'archive', $args ); } add_action( 'init', 'aps_register_archive_post_status' ); /** * Returns TRUE if in the WP Admin, otherwise FALSE * * @filter aps_status_arg_public * @filter aps_status_arg_show_in_admin_all_list * @filter aps_status_arg_show_in_admin_status_list * * @return bool */ function aps_is_admin() { return is_admin(); } add_filter( 'aps_status_arg_public', 'aps_is_admin' ); add_filter( 'aps_status_arg_show_in_admin_all_list', 'aps_is_admin' ); add_filter( 'aps_status_arg_show_in_admin_status_list', 'aps_is_admin' ); /** * Returns TRUE if on the frontend, otherwise FALSE * * @filter aps_status_arg_exclude_from_search * * @return bool */ function aps_is_frontend() { return ! is_admin(); } add_filter( 'aps_status_arg_exclude_from_search', 'aps_is_frontend' ); /** * Modify the DOM on post screens * * @action admin_footer-post.php * * @return void */ function aps_post_screen_js() { global $post; $excluded = apply_filters( 'aps_excluded_post_types', array( 'attachment' ) ); if ( in_array( $post->post_type, $excluded ) ) { return; } if ( 'archive' === $post->post_status ) { ?> post_status && 'pending' !== $post->post_status ) { ?> post_status || 'archive' === get_query_var( 'post_status' ) ) { return $post_states; } return array( __( 'Archived', 'archived-post-status' ) ); } add_filter( 'display_post_states', 'aps_display_post_states', 10, 2 );