register_post_status
函数
register_post_status ( $post_status, $args = array() )
- 参数
-
-
(string)
$post_status
Name of the post status.- Required: 是
-
(array|string)
$args
{ Optional. Array or string of post status arguments. @type bool|string $label A descriptive name for the post status marked for translation. Defaults to value of $post_status. @type array|false $label_count Nooped plural text from _n_noop() to provide the singular and plural forms of the label for counts. Default false which means the `$label` argument will be used for both the singular and plural forms of this label. @type bool $exclude_from_search Whether to exclude posts with this post status from search results. Default is value of $internal. @type bool $_builtin Whether the status is built-in. Core-use only. Default false. @type bool $public Whether posts of this status should be shown in the front end of the site. Default false. @type bool $internal Whether the status is for internal use only. Default false. @type bool $protected Whether posts with this status should be protected. Default false. @type bool $private Whether posts with this status should be private. Default false. @type bool $publicly_queryable Whether posts with this status should be publicly- queryable. Default is value of $public. @type bool $show_in_admin_all_list Whether to include posts in the edit listing for their post type. Default is the opposite value of $internal. @type bool $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) Default is the opposite value of $internal. @type bool $date_floating Whether the post has a floating creation date. Default to false. }- Required: 否
- Default: array()
-
(string)
- 返回值
-
- (object)
- 定义位置
-
-
wp-includes/post.php
, line 1289
-
wp-includes/post.php
- 引入
- 3.0.0
- 弃用
- –
注册一个文章状态。请不要在init之前使用。
一个简单的函数,用于根据给定的参数创建或修改一个文章状态。该函数将接受一个数组(第二个可选参数),以及一个文章状态名称的字符串。
以_underscore为前缀的参数不应该被插件和主题使用。
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, 'public' => null, 'internal' => null, 'protected' => null, 'private' => null, 'publicly_queryable' => null, 'show_in_admin_status_list' => null, 'show_in_admin_all_list' => null, 'date_floating' => null, ); $args = wp_parse_args( $args, $defaults ); $args = (object) $args; $post_status = sanitize_key( $post_status ); $args->name = $post_status; // Set various defaults. 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->date_floating ) { $args->date_floating = false; } if ( false === $args->label ) { $args->label = $post_status; } if ( false === $args->label_count ) { // phpcs:ignore WordPress.WP.I18n.NonSingularStringLiteralSingle,WordPress.WP.I18n.NonSingularStringLiteralPlural $args->label_count = _n_noop( $args->label, $args->label ); } $wp_post_statuses[ $post_status ] = $args; return $args; }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。