WordPress.org

Make WordPress Core

Opened 11 years ago

Closed 10 years ago

Last modified 9 years ago

#2792 closed defect (bug) (duplicate)

front page permalink discrepancy

Reported by: ryanscheuermann Owned by:
Milestone: Priority: normal
Severity: normal Version: 2.1
Component: Administration Keywords: front page
Focuses: Cc:

Description

With the advent of the new "Show this page as the front page" option, calling get_permalink on that page still returns the full permalink.

For instance, if you choose a page called "Home" as your home page, get_page_link (with pretty permalinks enabled) returns "/home/". Shouldn't it return the siteurl instead?

The only issue I've encountered in doing this is when you try to get that page's attachment(s) permalinks, it returns the wrong permalink. That page's attachment permalinks become "/attachment/" (wrong->404) instead of "/home/attachment/" (correct). get_attachment_link calls get_permalink on its parent to get the root of the link.

Should get_permalink return the siteurl or the full permalink for that page?

Change History (7)

#1 @markjaquith
11 years ago

It should return the siteurl.

We could just put a filter on wp_list_pages and do the switch there. That way, it won't mess with attachments.

#2 @ryanscheuermann
11 years ago

wp_list_pages isn't the only place WP users access permalinks for pages, is it? What about those building site-wide navigation menus without wp_list_pages? Like me. :-)

#3 @markjaquith
11 years ago

It's the only place I can think of. But it may be better to filter get_permalink() but disable the filter when dealing with attachments.

#4 @ryanscheuermann
11 years ago

I agree with that. Why not nip the problem in the bud, right?

#5 @ryan
11 years ago

There are patches for this and other issues on #2515. I'll commit those shortly.

#6 @mdawaffe
10 years ago

  • Resolution set to duplicate
  • Status changed from new to closed

#2515

Not really a dup, but it's all over there.

#7 @Nazgul
9 years ago

  • Milestone 2.1 deleted
Note: See TracTickets for help on using tickets.