Make WordPress Core

Opened 12 years ago

Closed 9 years ago

Last modified 9 years ago

#22338 closed defect (bug) (fixed)

Add filter for the output from `get_sample_permalink`

Reported by: simonwheatley's profile simonwheatley Owned by: sergeybiryukov's profile SergeyBiryukov
Milestone: 4.4 Priority: normal
Severity: normal Version: 3.4.2
Component: Permalinks Keywords: has-patch 2nd-opinion
Focuses: Cc:

Description

When getting the sample permalink the post_name is not always set in the Post object at this point. The get_sample_permalink gets around this by hacking the post_name into the Post object for the duration of the function, however it is not possible to get this "hacked in" information from the post_type_link filter. I suggest that a filter should be added to the $permalink array (which contains the link and the post name string) and various additional parameters, including the hacked Post object.

The alternative would be to try to detect situations where the data needs to be hacked in, e.g. watching for particular action GET params in an AJAX context, but this seems like a hack too far.

Attachments (5)

22338-sw.diff (974 bytes) - added by simonwheatley 12 years ago.
Adds a filter to get_sample_permalink
22338.2.patch (406 bytes) - added by JustinSainton 12 years ago.
Helping a brother out.
22338.3.diff (401 bytes) - added by JustinSainton 11 years ago.
22338-refreshed.diff (692 bytes) - added by wenthemes 9 years ago.
22338.4.diff (724 bytes) - added by SergeyBiryukov 9 years ago.

Download all attachments as: .zip

Change History (20)

@simonwheatley
12 years ago

Adds a filter to get_sample_permalink

#1 @simonwheatley
12 years ago

For context, here's where I would hope to use this in my multi-language plugin: https://github.com/simonwheatley/babble/commit/749cd96402a15944a017696282a0e66ee6bb8cfe

#2 @nacin
12 years ago

Your patch is actually your plugin commit. Could you upload a patch that implements this?

#3 @SergeyBiryukov
12 years ago

  • Keywords needs-patch added; has-patch removed

@JustinSainton
12 years ago

Helping a brother out.

#4 follow-up: @JustinSainton
12 years ago

  • Keywords has-patch added; needs-patch removed

#5 in reply to: ↑ 4 @simonwheatley
12 years ago

Replying to JustinSainton:

Belated thanks, Justin!

#6 @JustinSainton
11 years ago

Refreshed against trunk.

#7 @JustinSainton
11 years ago

Patch still applies cleanly after [25028]

#8 @JustinSainton
11 years ago

Last edited 11 years ago by JustinSainton (previous) (diff)

#9 @chriscct7
9 years ago

  • Keywords needs-refresh added; dev-feedback has-patch removed
  • Milestone changed from Awaiting Review to 4.4
  • Owner set to chriscct7
  • Status changed from new to assigned

Patch needs to be refreshed from src but otherwise it looks fine.

#10 @wenthemes
9 years ago

  • Keywords has-patch 2nd-opinion added; needs-refresh removed

This ticket was mentioned in Slack in #core by sergey. View the logs.


9 years ago

#12 @SergeyBiryukov
9 years ago

  • Owner changed from chriscct7 to SergeyBiryukov
  • Status changed from assigned to reviewing

#13 follow-up: @SergeyBiryukov
9 years ago

Some cleanup in 22338.4.diff.

Since we're going to pass the post object to the filter as the last argument, I think we should explicitly pass $post->ID instead of $id, which can be a post ID or post object.

This is not consistent with 'get_sample_permalink_html' filter, which receives $id and not $post->ID, but it's too late to change that.

#14 @wonderboymusic
9 years ago

  • Resolution set to fixed
  • Status changed from reviewing to closed

In 34309:

Add a 'get_sample_permalink' filter.

Props SergeyBiryukov, wenthemes, JustinSainton.
Fixes #22338.

#15 in reply to: ↑ 13 @SergeyBiryukov
9 years ago

Replying to SergeyBiryukov:

This is not consistent with 'get_sample_permalink_html' filter, which receives $id and not $post->ID, but it's too late to change that.

Actually, let's do that: #33927.

Note: See TracTickets for help on using tickets.