get_preview_post_link() – Retrieves the URL used for the post preview.

You appear to be a bot. Output may be restricted

Description

Retrieves the URL used for the post preview.

Allows additional query args to be appended.

Usage

$string|null = get_preview_post_link( $post, $query_args, $preview_link );

Parameters

$post
( int|WP_Post ) optional – Optional. Post ID or WP_Post object. Defaults to global `$post`.
$query_args
( array ) optional – Optional. Array of additional query args to be appended to the link. Default empty array.
$preview_link
( string ) optional – Optional. Base preview link to be used if it should differ from the post permalink. Default empty.

Returns

string|null URL used for the post preview, or null if the post does not exist.

Source

File name: wordpress/wp-includes/link-template.php
Lines:

1 to 27 of 27
function get_preview_post_link( $post = null, $query_args = array(), $preview_link = '' ) {
  $post = get_post( $post );
  if ( ! $post ) {
    return;
  }

  $post_type_object = get_post_type_object( $post->post_type );
  if ( is_post_type_viewable( $post_type_object ) ) {
    if ( ! $preview_link ) {
      $preview_link = set_url_scheme( get_permalink( $post ) );
    }

    $query_args['preview'] = 'true';
    $preview_link          = add_query_arg( $query_args, $preview_link );
  }

  
/**
 * Filters the URL used for a post preview.
 *
 * @since 2.0.5
 * @since 4.0.0 Added the `$post` parameter.
 *
 * @param string  $preview_link URL used for the post preview.
 * @param WP_Post $post         Post object.
 */
  return apply_filters( 'preview_post_link', $preview_link, $post );
}
 

 View on GitHub View on Trac