Post status indicates information about the status of a written and published article. By default, WordPress has the following statuses available:
- Public (visible to everyone)
- Private (visible only to certain people)
- Password protected (visible to anyone entering a specific password when accessing the post)
To create a new status that will be displayed as a new selection option along with the 3 above, you will need to add the following code to the theme’s functions.php file:
function status_stare_postare_noua() {
$args = array(
'label' => _x( 'numele-starii', 'Status General Name', 'text_domain' ),
'label_count' => _n_noop( 'numele-starii (%s)', 'numele-starilor (%s)', 'text_domain' ),
'public'=> true,
'show_in_admin_all_list' => true,
'show_in_admin_status_list' => true,
'exclude_from_search' => false,
);
register_post_status( 'starea-noua', $args );
}
add_action( 'init', 'status_stare_postare_noua', 0 );
Brief explanation of the code:
- A function is created that will generate information about the newly created state (we named it new_posting_state_status (), but it can have any name you want)
- In the created function the following are introduced:
- The $ args array that will contain:
- status name
- the singular and plural of the noun
- whether the post will be publicly visible or not (true / false)
- if it will be visible to logged in users who publish / edit articles
- status can be displayed or excluded from searches
- Registering the new status using the default WordPress function register_post_status ().
- The $ args array that will contain:
- After closing the function, a WordPress action hook is invoked, respectively add_action () which will contain at least two arguments: the first will say what type of action is invoked (in our case “init”) and the second will specify the function in which created the new status.