comments_popup_link() WordPress Function
The comments_popup_link() function is used to display a link to the comments popup window for the current post. When clicked, the link will open a new window with the comments form and a list of the comments for the post. This function is typically used within the loop.
comments_popup_link( false|string $zero = false, false|string $one = false, false|string $more = false, string $css_class = '', false|string $none = false ) #
Displays the link to the comments for the current post ID.
Parameters
- $zero
(false|string)(Optional) String to display when no comments.
Default value: false
- $one
(false|string)(Optional) String to display when only one comment is available.
Default value: false
- $more
(false|string)(Optional) String to display when there are more than one comment.
Default value: false
- $css_class
(string)(Optional) CSS class to use for comments.
Default value: ''
- $none
(false|string)(Optional) String to display when comments have been turned off.
Default value: false
Source
File: wp-includes/comment-template.php
function comments_popup_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) {
$post_id = get_the_ID();
$post_title = get_the_title();
$number = get_comments_number( $post_id );
if ( false === $zero ) {
/* translators: %s: Post title. */
$zero = sprintf( __( 'No Comments<span class="screen-reader-text"> on %s</span>' ), $post_title );
}
if ( false === $one ) {
/* translators: %s: Post title. */
$one = sprintf( __( '1 Comment<span class="screen-reader-text"> on %s</span>' ), $post_title );
}
if ( false === $more ) {
/* translators: 1: Number of comments, 2: Post title. */
$more = _n( '%1$s Comment<span class="screen-reader-text"> on %2$s</span>', '%1$s Comments<span class="screen-reader-text"> on %2$s</span>', $number );
$more = sprintf( $more, number_format_i18n( $number ), $post_title );
}
if ( false === $none ) {
/* translators: %s: Post title. */
$none = sprintf( __( 'Comments Off<span class="screen-reader-text"> on %s</span>' ), $post_title );
}
if ( 0 == $number && ! comments_open() && ! pings_open() ) {
echo '<span' . ( ( ! empty( $css_class ) ) ? ' class="' . esc_attr( $css_class ) . '"' : '' ) . '>' . $none . '</span>';
return;
}
if ( post_password_required() ) {
_e( 'Enter your password to view comments.' );
return;
}
echo '<a href="';
if ( 0 == $number ) {
$respond_link = get_permalink() . '#respond';
/**
* Filters the respond link when a post has no comments.
*
* @since 4.4.0
*
* @param string $respond_link The default response link.
* @param int $post_id The post ID.
*/
echo apply_filters( 'respond_link', $respond_link, $post_id );
} else {
comments_link();
}
echo '"';
if ( ! empty( $css_class ) ) {
echo ' class="' . $css_class . '" ';
}
$attributes = '';
/**
* Filters the comments link attributes for display.
*
* @since 2.5.0
*
* @param string $attributes The comments link attributes. Default empty.
*/
echo apply_filters( 'comments_popup_link_attributes', $attributes );
echo '>';
comments_number( $zero, $one, $more );
echo '</a>';
}
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
| Version | Description |
|---|---|
| 0.71 | Introduced. |