Reject numeric page slugs as they don't work, and force a suffix. Props miqrogroove see #11917

git-svn-id: http://svn.automattic.com/wordpress/trunk@13424 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
nacin 2010-02-26 04:53:30 +00:00
parent 1409dcca90
commit bf207bc6e6

View File

@ -2392,7 +2392,7 @@ function wp_unique_post_slug( $slug, $post_ID, $post_status, $post_type, $post_p
$check_sql = "SELECT post_name FROM $wpdb->posts WHERE post_name = %s AND post_type IN ( '" . implode( "', '", esc_sql( $hierarchical_post_types ) ) . "' ) AND ID != %d AND post_parent = %d LIMIT 1";
$post_name_check = $wpdb->get_var( $wpdb->prepare( $check_sql, $slug, $post_ID, $post_parent ) );
if ( $post_name_check || in_array( $slug, $feeds ) ) {
if ( $post_name_check || in_array( $slug, $feeds ) || preg_match( '@^\d+$@', $slug ) ) {
$suffix = 2;
do {
$alt_post_name = substr( $slug, 0, 200 - ( strlen( $suffix ) + 1 ) ) . "-$suffix";