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