Function and usage of get_sample_permalink() in wordpress


Answers ( 1 )


    The get_sample_permalink() function in WordPress is a useful tool for developers working with permalinks. This function returns a sample permalink for a given post, which can be customized using optional parameters. Here’s a detailed explanation of its usage:

    Function Prototype:

    get_sample_permalink( int|WP_Post $post, string|null $title = null, string|null $name = null ): array

    Function Description:

    • Purpose: The function generates a sample permalink based on the post name.
    • Usage: Primarily used in the WordPress admin for previewing and editing permalinks.


    1. $post (int | WP_Post) - Required.

      • Description: This is either the Post ID or a WP_Post object.
      • Purpose: Identifies the post for which the sample permalink is generated.
    2. $title (string | null) - Optional.

      • Default: null
      • Description: A title to override the post’s current title when generating the post name.
      • Purpose: Use this to preview how the permalink would change if the post's title were different.
    3. $name (string | null) - Optional.

      • Default: null
      • Description: A name to override the post name.
      • Purpose: Useful for seeing how custom slugs would affect the permalink.

    Return Value:

    • Type: array
    • Contents: The function returns an array containing two elements:
      1. String: The permalink with a placeholder for the post name.
      2. String: The post name.

    Sample Usage:

    Here's an example of how get_sample_permalink() might be used in a WordPress theme or plugin:

    // Assuming $post_id contains the ID of the post
    $sample_permalink = get_sample_permalink($post_id);
    // Print the sample permalink
    echo 'Sample Permalink: ' . $sample_permalink[0];
    // Print the post name used in the permalink
    echo 'Post Name: ' . $sample_permalink[1];

    In this example, $sample_permalink[0] would give you the URL with a placeholder for the post name, and $sample_permalink[1] would provide the actual post name that fits into that placeholder.

    Practical Application:

    • Custom Permalink Editing: Allows for previewing and editing permalinks in custom admin interfaces.
    • Slug Generation: Helpful in generating slugs programmatically based on modified titles or names.


    • The function is most useful in backend development and should be used carefully to avoid generating incorrect permalinks for the frontend.

Leave an answer