From b69c44c1f89b1df227b09091898ca9fa7e9de7c0 Mon Sep 17 00:00:00 2001 From: Dion Hulse Date: Tue, 2 Mar 2010 11:57:32 +0000 Subject: [PATCH] Add a 'pre_post_link' filter to get_permalink() before token replacement occurs. Fixes #12240 git-svn-id: https://develop.svn.wordpress.org/trunk@13549 602fd350-edb4-49c9-b593-d223f7449a82 --- wp-includes/link-template.php | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/wp-includes/link-template.php b/wp-includes/link-template.php index 05b734a300..abc09c6661 100644 --- a/wp-includes/link-template.php +++ b/wp-includes/link-template.php @@ -100,7 +100,8 @@ function get_permalink($id = 0, $leavename = false) { $sample = false; } - if ( empty($post->ID) ) return false; + if ( empty($post->ID) ) + return false; if ( $post->post_type == 'page' ) return get_page_link($post->ID, $leavename, $sample); @@ -111,6 +112,8 @@ function get_permalink($id = 0, $leavename = false) { $permalink = get_option('permalink_structure'); + $permalink = apply_filters('pre_post_link', $permalink, $post, $leavename); + if ( '' != $permalink && !in_array($post->post_status, array('draft', 'pending', 'auto-draft')) ) { $unixtime = strtotime($post->post_date); @@ -154,11 +157,10 @@ function get_permalink($id = 0, $leavename = false) { ); $permalink = home_url( str_replace($rewritecode, $rewritereplace, $permalink) ); $permalink = user_trailingslashit($permalink, 'single'); - return apply_filters('post_link', $permalink, $post, $leavename); } else { // if they're not using the fancy permalink option $permalink = home_url('?p=' . $post->ID); - return apply_filters('post_link', $permalink, $post, $leavename); } + return apply_filters('post_link', $permalink, $post, $leavename); } /**