Function and usage of get_permalink() in wordpress


Answers ( 1 )


    The get_permalink() function in WordPress is a very useful tool for theme and plugin developers, as well as for anyone who needs to programmatically retrieve the URL of a specific post or page. Here's a detailed explanation of its function and usage:


    • Purpose: get_permalink() retrieves the full permalink (URL) for a given post or post ID in WordPress. It's commonly used to provide a direct link to a post or page.


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

      • Type: Integer or WP_Post object.
      • Description: You can pass a post ID or a post object to this parameter. If not specified, WordPress uses the global $post object by default, which refers to the current post in the loop.
      • Default: The global $post object.
    2. $leavename (bool) - Optional.

      • Type: Boolean.
      • Description: This parameter determines whether to keep the post name or page name in the URL. When set to true, the function returns a permalink template (e.g., for use in rewrite rules), whereas false returns the actual permalink.
      • Default: false.


    • Type: string|false
    • Description: The function returns the permalink URL as a string. If the post does not exist or if any error occurs, it returns false.

    Sample Usage

    Here's how you might use get_permalink() in different scenarios:

    1. Basic Usage (Current Post):

      $permalink = get_permalink();
      echo 'The permalink of the current post is: ' . $permalink;

      This code retrieves the permalink of the current post and displays it.

    2. Specifying a Post ID:

      $post_id = 123; // Replace with a specific post ID
      $permalink = get_permalink($post_id);
      echo 'The permalink of post ID ' . $post_id . ' is: ' . $permalink;

      This is useful when you know the ID of the post and want to get its permalink.

    3. Using a Post Object:

      $post = get_post(123); // Replace with the desired post ID
      $permalink = get_permalink($post);
      echo 'The permalink of the post is: ' . $permalink;

      In this scenario, you first retrieve a post object using get_post() and then get its permalink.

    4. Leaving the Post Name:

      $post_id = 123; // Replace with a specific post ID
      $permalink = get_permalink($post_id, true);
      echo 'The permalink template for post ID ' . $post_id . ' is: ' . $permalink;

      This is useful for custom rewrite rules or when you need the permalink structure rather than the actual URL.


    • The get_permalink() function is a part of WordPress's extensive template tag library, which provides an easy way to retrieve and display data from the database.
    • Always check if the function returns false to handle cases where the post might not exist.

    By understanding and utilizing the get_permalink() function, developers can effectively link to WordPress posts and pages, enhancing navigation and user experience on their websites.

Leave an answer