#2792 closed defect (bug) (duplicate)
front page permalink discrepancy
| Reported by: |
|
Owned by: |
|
|---|---|---|---|
| Priority: | normal | Milestone: | |
| Component: | Administration | Version: | 2.1 |
| Severity: | normal | Keywords: | front page |
| 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)
comment:1
markjaquith — 7 years ago
comment:2
ryanscheuermann — 7 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. :-)
comment:3
markjaquith — 7 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.
comment:4
ryanscheuermann — 7 years ago
I agree with that. Why not nip the problem in the bud, right?
There are patches for this and other issues on #2515. I'll commit those shortly.
- Resolution set to duplicate
- Status changed from new to closed
Not really a dup, but it's all over there.

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.