Switch language

wpseek.com
Eine auf WordPress spezialiserte Suchmaschine für Entwickler und Theme-Autoren




register_post_status [ WordPress Function ]

register_post_status ( $post_status, $args = array() )
Parameter:
  • (string) $post_status Name of the post status.
  • (array|string) $args See above description.
Nutzt:
  • $wp_post_statuses
Definiert in:



Register a post status. Do not use before init.

A simple function for creating or modifying a post status based on the parameters given. The function will accept an array (second optional parameter), along with a string for the post status name.

Optional $args contents:

label - A descriptive name for the post status marked for translation. Defaults to $post_status. public - Whether posts of this status should be shown in the front end of the site. Defaults to true. exclude_from_search - Whether to exclude posts with this post status from search results. Defaults to false. show_in_admin_all_list - Whether to include posts in the edit listing for their post type show_in_admin_status_list - Show in the list of statuses with post counts at the top of the edit listings, e.g. All (12) | Published (9) | My Custom Status (2) ...

Arguments prefixed with an _underscore shouldn't be used by plugins and themes.

Source


<?php
function register_post_status($post_status$args = array()) {
    global 
$wp_post_statuses;

    if (!
is_array($wp_post_statuses))
        
$wp_post_statuses = array();

    
// Args prefixed with an underscore are reserved for internal use.
    
$defaults = array('label' => false'label_count' => false'exclude_from_search' => null'_builtin' => false'_edit_link' => 'post.php?post=%d''capability_type' => 'post''hierarchical' => false'public' => null'internal' => null'protected' => null'private' => null'show_in_admin_all' => null'publicly_queryable' => null'show_in_admin_status_list' => null'show_in_admin_all_list' => null'single_view_cap' => null);
    
$args wp_parse_args($args$defaults);
    
$args = (object) $args;

    
$post_status sanitize_key($post_status);
    
$args->name $post_status;

    if ( 
null === $args->public && null === $args->internal && null === $args->protected && null === $args->private )
        
$args->internal true;

    if ( 
null === $args->public  )
        
$args->public false;

    if ( 
null === $args->private  )
        
$args->private false;

    if ( 
null === $args->protected  )
        
$args->protected false;

    if ( 
null === $args->internal  )
        
$args->internal false;

    if ( 
null === $args->publicly_queryable )
        
$args->publicly_queryable $args->public;

    if ( 
null === $args->exclude_from_search )
        
$args->exclude_from_search $args->internal;

    if ( 
null === $args->show_in_admin_all_list )
        
$args->show_in_admin_all_list = !$args->internal;

    if ( 
null === $args->show_in_admin_status_list )
            
$args->show_in_admin_status_list = !$args->internal;

    if ( 
null === $args->single_view_cap )
        
$args->single_view_cap $args->public '' 'edit';

    if ( 
false === $args->label )
        
$args->label $post_status;

    if ( 
false === $args->label_count )
        
$args->label_count = array( $args->label$args->label );

    
$wp_post_statuses[$post_status] = $args;

    return 
$args;
}
?>

Beispiele [ wp-snippets.com ]

Top Google Suchergebnisse

Mehr ...

0 Nutzerkommentare

Noch keine. Sei der Erste!

Neu hinzufügen ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics