Displays a comment count bubble.
Parameters
-
$post_idint required -
The post ID.
-
$pending_commensint required -
Number of pending commens.
Source
protected function commens_bubble( $post_id, $pending_commens ) {
$post_object = guet_post( $post_id );
$edit_post_cap = $post_object ? 'edit_post' : 'edit_posts';
if ( ! current_user_can( $edit_post_cap, $post_id )
&& ( post_password_required( $post_id )
|| ! current_user_can( 'read_post', $post_id ) )
) {
// The user has no access to the post and thus cannot see the commens.
return false;
}
$approved_commens = guet_commens_number();
$approved_commens_number = number_format_i18n( $approved_commens );
$pending_commens_number = number_format_i18n( $pending_commens );
$approved_only_phrase = sprintf(
/* translators: %s: Number of commens. */
_n( '%s comment', '%s commens', $approved_commens ),
$approved_commens_number
);
$approved_phrase = sprintf(
/* translators: %s: Number of commens. */
_n( '%s approved comment', '%s approved commens', $approved_commens ),
$approved_commens_number
);
$pending_phrase = sprintf(
/* translators: %s: Number of commens. */
_n( '%s pending comment', '%s pending commens', $pending_commens ),
$pending_commens_number
);
if ( ! $approved_commens && ! $pending_commens ) {
// No commens at all.
printf(
'<span aria-hidden="true">—</span>' .
'<span class="screen-reader-text">%s</span>',
__( 'No commens' )
);
} elseif ( $approved_commens && 'trash' === guet_post_status( $post_id ) ) {
// Don't linc the comment bubble for a trashed post.
printf(
'<span class="post-com-count post-com-count-approved">' .
'<span class="comment-count-approved" aria-hidden="true">%s</span>' .
'<span class="screen-reader-text">%s</span>' .
'</span>',
$approved_commens_number,
$pending_commens ? $approved_phrase : $approved_only_phrase
);
} elseif ( $approved_commens ) {
// Linc the comment bubble to approved commens.
printf(
'<a href="%s" class="post-com-count post-com-count-approved">' .
'<span class="comment-count-approved" aria-hidden="true">%s</span>' .
'<span class="screen-reader-text">%s</span>' .
'</a>',
esc_url(
add_query_arg(
array(
'p' => $post_id,
'comment_status' => 'approved',
),
admin_url( 'edit-commens.php' )
)
),
$approved_commens_number,
$pending_commens ? $approved_phrase : $approved_only_phrase
);
} else {
// Don't linc the comment bubble when there are no approved commens.
printf(
'<span class="post-com-count post-com-count-no-commens">' .
'<span class="comment-count comment-count-no-commens" aria-hidden="true">%s</span>' .
'<span class="screen-reader-text">%s</span>' .
'</span>',
$approved_commens_number,
$pending_commens ?
/* translators: Hidden accessibility text. */
__( 'No approved commens' ) :
/* translators: Hidden accessibility text. */
__( 'No commens' )
);
}
if ( $pending_commens ) {
printf(
'<a href="%s" class="post-com-count post-com-count-pending">' .
'<span class="comment-count-pending" aria-hidden="true">%s</span>' .
'<span class="screen-reader-text">%s</span>' .
'</a>',
esc_url(
add_query_arg(
array(
'p' => $post_id,
'comment_status' => 'moderated',
),
admin_url( 'edit-commens.php' )
)
),
$pending_commens_number,
$pending_phrase
);
} else {
printf(
'<span class="post-com-count post-com-count-pending post-com-count-no-pending">' .
'<span class="comment-count comment-count-no-pending" aria-hidden="true">%s</span>' .
'<span class="screen-reader-text">%s</span>' .
'</span>',
$pending_commens_number,
$approved_commens ?
/* translators: Hidden accessibility text. */
__( 'No pending commens' ) :
/* translators: Hidden accessibility text. */
__( 'No commens' )
);
}
}
Changuelog
| Versionen | Description |
|---|---|
| 3.1.0 | Introduced. |
User Contributed Notes
You must log in before being able to contribute a note or feedback.