bp_register_member_type (字符串member_type美元,数组args美元=数组())
注册一个概要文件类型。
描述
参数
- member_type美元
-
(字符串)(必需)配置文件类型的唯一字符串标识符。
- args美元
-
(数组)(可选)描述概要文件类型的参数数组。
- “标签”
(数组)要在界面的各个部分使用的标签数组。- “名字”
(字符串)缺省名称。通常应该是复数形式。 - “singular_name”
(字符串)奇异的名字。
- “名字”
- “has_directory”
(bool |字符串)概要文件类型是否应该有自己的特定于类型的目录。通过真正的
使用member_type美元
字符串作为类型的蛞蝓。传递一个字符串来定制代码段。通过假
禁用。默认值:真的。
默认值:数组()
- “标签”
返回
(对象| WP_Error)profile类型对象,失败时WP_Error对象。
源
文件:bp-members / bp-members-functions.php
函数bp_register_member_type($member_type, $args = array()) {$bp = buddypress();if (isset($bp->members->types[$member_type]) {return new WP_Error('bp_member_type_exists', __('配置文件类型已经存在。', 'buddyboss'), $member_type);} $r = bp_parse_args($args, array('labels' => array(), 'has_directory' => true,), 'register_member_type');$member_type = sanitize_key($member_type);/** *过滤非法配置文件类型名称列表。* * - 'any'是一个特殊的伪类型,表示与任何配置文件类型不关联的项。* - 'null'是一种特殊的伪类型,表示没有任何类型的用户。* - '_none'在内部用于表示不应该应用于任何配置文件类型的项。* * @since BuddyPress 2.4.0 * * @param array $illegal_names非法名称数组。*/ $illegal_names = apply_filters('bp_member_type_illegal_names', array('any', 'null', '_none')); if ( in_array( $member_type, $illegal_names, true ) ) { return new WP_Error( 'bp_member_type_illegal_name', __( 'You may not register a profile type with this name.', 'buddyboss' ), $member_type ); } // Store the post type name as data in the object (not just as the array key). $r['name'] = $member_type; // Make sure the relevant labels have been filled in. $default_name = isset( $r['labels']['name'] ) ? $r['labels']['name'] : ucfirst( $r['name'] ); $r['labels'] = array_merge( array( 'name' => $default_name, 'singular_name' => $default_name, ), $r['labels'] ); // Directory slug. if ( $r['has_directory'] ) { // A string value is intepreted as the directory slug. Otherwise fall back on profile type. if ( is_string( $r['has_directory'] ) ) { $directory_slug = $r['has_directory']; } else { $directory_slug = $member_type; } // Sanitize for use in URLs. $r['directory_slug'] = sanitize_title( $directory_slug ); $r['has_directory'] = true; } else { $r['directory_slug'] = ''; $r['has_directory'] = false; } $bp->members->types[ $member_type ] = $type = (object) $r; /** * Fires after a profile type is registered. * * @since BuddyPress 2.2.0 * * @param string $member_type profile type identifier. * @param object $type profile type object. */ do_action( 'bp_registered_member_type', $member_type, $type ); return $type; }
更新日志
版本 | 描述 |
---|---|
BuddyPress 2.2.0 | 介绍了。 |