Set $walk_dirs = true for post rewrite rule generation. See #21020 for trunk.

Partial revert of r19737 and r19778 as some users were relying on this behaviour.


git-svn-id: https://develop.svn.wordpress.org/trunk@21112 602fd350-edb4-49c9-b593-d223f7449a82
This commit is contained in:
Jon Cave 2012-06-25 20:41:14 +00:00
parent 12ff4b5ae6
commit 713783f4d0
2 changed files with 4 additions and 19 deletions

View File

@ -100,7 +100,7 @@ function redirect_canonical( $requested_url = null, $do_redirect = true ) {
}
if ( ! $redirect_url ) {
if ( $redirect_url = redirect_guess_404_permalink( $requested_url ) ) {
if ( $redirect_url = redirect_guess_404_permalink() ) {
$redirect['query'] = _remove_qs_args_if_not_in_url( $redirect['query'], array( 'page', 'feed', 'p', 'page_id', 'attachment_id', 'pagename', 'name', 'post_type' ), $redirect_url );
}
}
@ -461,31 +461,16 @@ function _remove_qs_args_if_not_in_url( $query_string, Array $args_to_check, $ur
}
/**
* Attempts to guess the correct URL from the current URL (that produced a 404) or
* the current query variables.
* Attempts to guess the correct URL based on query vars
*
* @since 2.3.0
* @uses $wpdb
*
* @param string $current_url Optional. The URL that has 404'd.
* @return bool|string The correct URL if one is found. False on failure.
*/
function redirect_guess_404_permalink( $current_url = '' ) {
function redirect_guess_404_permalink() {
global $wpdb, $wp_rewrite;
if ( ! empty( $current_url ) )
$parsed_url = @parse_url( $current_url );
// Attempt to redirect bare category slugs if the permalink structure starts
// with the %category% tag.
if ( isset( $parsed_url['path'] )
&& preg_match( '#^[^%]+%category%#', $wp_rewrite->permalink_structure )
&& $cat = get_category_by_path( $parsed_url['path'] )
) {
if ( ! is_wp_error( $cat ) )
return get_term_link( $cat );
}
if ( get_query_var('name') ) {
$where = $wpdb->prepare("post_name LIKE %s", like_escape( get_query_var('name') ) . '%');

View File

@ -1537,7 +1537,7 @@ class WP_Rewrite {
$registration_pages['.*wp-register.php$'] = $this->index . '?register=true'; // Deprecated
// Post
$post_rewrite = $this->generate_rewrite_rules( $this->permalink_structure, EP_PERMALINK, false, true, false, false );
$post_rewrite = $this->generate_rewrite_rules( $this->permalink_structure, EP_PERMALINK, false );
$post_rewrite = apply_filters('post_rewrite_rules', $post_rewrite);
// Date