mirror of
https://github.com/WordPress/WordPress.git
synced 2024-09-30 08:08:10 +02:00
Throw WP_Error if post_type passed to register_post_type() is longer than schema allows. props phrostypoison. fixes #13709
git-svn-id: http://svn.automattic.com/wordpress/trunk@16670 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
parent
5f15bf9db2
commit
5b37b224f8
@ -884,7 +884,7 @@ function get_post_types( $args = array(), $output = 'names', $operator = 'and' )
|
|||||||
*
|
*
|
||||||
* @param string $post_type Name of the post type.
|
* @param string $post_type Name of the post type.
|
||||||
* @param array|string $args See above description.
|
* @param array|string $args See above description.
|
||||||
* @return object the registered post type object
|
* @return object|WP_Error the registered post type object, or an error object
|
||||||
*/
|
*/
|
||||||
function register_post_type($post_type, $args = array()) {
|
function register_post_type($post_type, $args = array()) {
|
||||||
global $wp_post_types, $wp_rewrite, $wp;
|
global $wp_post_types, $wp_rewrite, $wp;
|
||||||
@ -908,6 +908,9 @@ function register_post_type($post_type, $args = array()) {
|
|||||||
$post_type = sanitize_key($post_type);
|
$post_type = sanitize_key($post_type);
|
||||||
$args->name = $post_type;
|
$args->name = $post_type;
|
||||||
|
|
||||||
|
if ( strlen( $post_type ) > 20 )
|
||||||
|
return new WP_Error( 'post_type_too_long', __( 'Post types cannot exceed 20 characters in length' ) );
|
||||||
|
|
||||||
// If not set, default to the setting for public.
|
// If not set, default to the setting for public.
|
||||||
if ( null === $args->publicly_queryable )
|
if ( null === $args->publicly_queryable )
|
||||||
$args->publicly_queryable = $args->public;
|
$args->publicly_queryable = $args->public;
|
||||||
|
Loading…
Reference in New Issue
Block a user