From bba593e2500b848eb26f544dd8aaae663eb81ba4 Mon Sep 17 00:00:00 2001 From: ryan Date: Wed, 26 Mar 2008 20:17:31 +0000 Subject: [PATCH] Fix attachment links for permalink structures containing category tag. Props andy. fixes #4699 git-svn-id: http://svn.automattic.com/wordpress/trunk@7531 1a063a9b-81f0-0310-95a4-ce76da25c4cd --- wp-includes/link-template.php | 2 +- wp-includes/query.php | 2 +- wp-includes/rewrite.php | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/wp-includes/link-template.php b/wp-includes/link-template.php index c12fb1f40..23bfbf7fb 100644 --- a/wp-includes/link-template.php +++ b/wp-includes/link-template.php @@ -179,7 +179,7 @@ function get_attachment_link($id = false) { $parentlink = _get_page_link( $object->post_parent ); // Ignores page_on_front else $parentlink = get_permalink( $object->post_parent ); - if ( ctype_digit($object->post_name) ) + if ( ctype_digit($object->post_name) || false !== strpos(get_option('permalink_structure'), '%category%') ) $name = 'attachment/' . $object->post_name; // // is paged so we use the explicit attachment marker else $name = $object->post_name; diff --git a/wp-includes/query.php b/wp-includes/query.php index 008ea5f11..8e3544a26 100644 --- a/wp-includes/query.php +++ b/wp-includes/query.php @@ -1036,7 +1036,7 @@ class WP_Query { } // Category stuff for nice URLs - if ( '' != $q['category_name'] ) { + if ( '' != $q['category_name'] && !$this->is_singular ) { $reqcat = get_category_by_path($q['category_name']); $q['category_name'] = str_replace('%2F', '/', urlencode(urldecode($q['category_name']))); $cat_paths = '/' . trim($q['category_name'], '/'); diff --git a/wp-includes/rewrite.php b/wp-includes/rewrite.php index 50f21dbe7..cb5819068 100644 --- a/wp-includes/rewrite.php +++ b/wp-includes/rewrite.php @@ -765,7 +765,7 @@ class WP_Rewrite { //add regexes/queries for attachments, attachment trackbacks and so on if ( ! $page ) //require /attachment/stuff form for pages because of confusion with subpages $rewrite = array_merge($rewrite, array($sub1 => $subquery, $sub1tb => $subtbquery, $sub1feed => $subfeedquery, $sub1feed2 => $subfeedquery)); - $rewrite = array_merge($rewrite, array($sub2 => $subquery, $sub2tb => $subtbquery, $sub2feed => $subfeedquery, $sub2feed2 => $subfeedquery)); + $rewrite = array_merge(array($sub2 => $subquery, $sub2tb => $subtbquery, $sub2feed => $subfeedquery, $sub2feed2 => $subfeedquery), $rewrite); } } //if($num_toks) //add the rules for this dir to the accumulating $post_rewrite