post_link

Filters the permalink for a post.

Description

apply_filters( 'post_link', (string) $permalink, (WP_Post) $post, (string) $leavename ); 

Only applies to posts with post_type of post..

Parameters (3)

0. $permalink (string)
The post's permalink.
1. $post (WP_Post)
The post in question.
2. $leavename (string)
Whether to keep the post name.

Usage

To run the hook, copy the example below.
  1. $permalink = apply_filters( 'post_link', $permalink, $post, $leavename ); 
  2.  
  3. if ( !empty( $permalink ) ) { 
  4.  
  5. // everything has led up to this point... 
  6.  
  7.  
The following example is for adding a hook callback.
  1. // define the post_link callback 
  2. function filter_post_link( $permalink, $post, $leavename ) { 
  3. // make filter magic happen here... 
  4. return $permalink
  5. }; 
  6.  
  7. // add the filter 
  8. add_filter( 'post_link', 'filter_post_link', 10, 3 ); 
To remove a hook callback, use the example below.
  1. // remove the filter 
  2. remove_filter( 'post_link', 'filter_post_link', 10, 3 ); 

Defined (1)

The filter is defined in the following location(s).

/wp-includes/link-template.php  
  1. return apply_filters( 'post_link', $permalink, $post, $leavename );