get_post_reply_link() WordPress Function

The WordPress function get_post_reply_link() can be used to get the link to reply to a post. This function is useful for forums or other types of discussion sites.

get_post_reply_link( array $args = array(), int|WP_Post $post = null ) #

Retrieves HTML content for reply to post link.


Parameters

$args

(array)(Optional)Override default arguments.

  • 'add_below'
    (string) The first part of the selector used to identify the comment to respond below. The resulting value is passed as the first parameter to addComment.moveForm(), concatenated as $add_below-$comment->comment_ID. Default is 'post'.
  • 'respond_id'
    (string) The selector identifying the responding comment. Passed as the third parameter to addComment.moveForm(), and appended to the link URL as a hash value. Default 'respond'.
  • 'reply_text'
    (string) Text of the Reply link. Default is 'Leave a Comment'.
  • 'login_text'
    (string) Text of the link to reply if logged out. Default is 'Log in to leave a Comment'.
  • 'before'
    (string) Text or HTML to add before the reply link.
  • 'after'
    (string) Text or HTML to add after the reply link.

Default value: array()

$post

(int|WP_Post)(Optional) Post ID or WP_Post object the comment is going to be displayed on. Default current post.

Default value: null


Top ↑

Return

(string|false|null) Link to show comment form, if successful. False, if comments are closed.


Top ↑

Source

File: wp-includes/comment-template.php

1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
function get_post_reply_link( $args = array(), $post = null ) {
    $defaults = array(
        'add_below'  => 'post',
        'respond_id' => 'respond',
        'reply_text' => __( 'Leave a Comment' ),
        'login_text' => __( 'Log in to leave a Comment' ),
        'before'     => '',
        'after'      => '',
    );
 
    $args = wp_parse_args( $args, $defaults );
 
    $post = get_post( $post );
 
    if ( ! comments_open( $post->ID ) ) {
        return false;
    }
 
    if ( get_option( 'comment_registration' ) && ! is_user_logged_in() ) {
        $link = sprintf(
            '<a rel="nofollow" class="comment-reply-login" href="%s">%s</a>',
            wp_login_url( get_permalink() ),
            $args['login_text']
        );
    } else {
        $onclick = sprintf(
            'return addComment.moveForm( "%1$s-%2$s", "0", "%3$s", "%2$s" )',
            $args['add_below'],
            $post->ID,
            $args['respond_id']
        );
 
        $link = sprintf(
            "<a rel='nofollow' class='comment-reply-link' href='%s' onclick='%s'>%s</a>",
            get_permalink( $post->ID ) . '#' . $args['respond_id'],
            $onclick,
            $args['reply_text']
        );
    }
    $formatted_link = $args['before'] . $link . $args['after'];
 
    /**
     * Filters the formatted post comments link HTML.
     *
     * @since 2.7.0
     *
     * @param string      $formatted The HTML-formatted post comments link.
     * @param int|WP_Post $post      The post ID or WP_Post object.
     */
    return apply_filters( 'post_comments_link', $formatted_link, $post );
}


Top ↑

Changelog

Changelog
VersionDescription
2.7.0Introduced.

The content displayed on this page has been created in part by processing WordPress source code files which are made available under the GPLv2 (or a later version) license by the Free Software Foundation. In addition to this, the content includes user-written examples and information. All material is subject to review and curation by the WPPaste.com community.

Show More