comments_popup_link( false|string $zero = false, false|string $one = false, false|string $more = false, string $css_class = '', false|string $none = false )
- Since
- 0.71
- Source
wp-includes/comment-template.php:1644
Compatibility
- WordPress
- since 0.71
- PHP
- 7.4–8.6-dev
- 6.7.7
- 6.8.8
- 6.9.7
- 7.0.4
- 7.1.0
Present in every tracked release (6.7.7 to 7.1.0), and compiles on PHP 7.4 through 8.6-dev.
Parameters
$zerofalse|stringoptional- String to display when no comments. Default false.Default:
false $onefalse|stringoptional- String to display when only one comment is available. Default false.Default:
false $morefalse|stringoptional- String to display when there are more than one comment. Default false.Default:
false $css_classstringoptional- CSS class to use for comments. Default empty.Default:
'' $nonefalse|stringoptional- String to display when comments have been turned off. Default false.Default:
false
Performance profile
How much work a call to comments_popup_link() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.
- Cost class
- Heavy
- Scaling
- Constant
- Instructions
- 32–112
- Plugin surface
- 2 hooks
- Called by
- 6
Reaches the database via get_post().
No loop in the body: the same number of instructions runs whatever you pass in.
Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 135.
Third-party callbacks on 'respond_link', 'comments_popup_link_attributes' run inside this call, and their cost is not bounded by anything here.
6 places in core call this, so the cost is paid more often than your own code shows.
What it touches
- hookthird-party callbacks
apply_filters()called directly - querycontent query
get_post()one call below comments_popup_link() - optionoption read or write
get_option()one call below comments_popup_link()
Further down the call graph this can also reach cache, serialize and transient. Those are the worst case, several calls deep and usually down an error path, not what a normal call pays.
What one call costs · 110 distinct outcomes
One number would be a lie: the work depends on which branch runs. These are every distinct cost comments_popup_link() can have, taken from its control-flow graph on PHP 8.5.
| When | Instructions | Calls it makes |
|---|---|---|
$zero !== false && $one !== false && $more !== false && $none !== false && $comments_number !== 0 && post_password_required() | 32 | get_the_ID(), get_the_title(), get_comments_number(), post_password_required(), _e() |
$zero !== false && $one !== false && $more !== false && $none !== false && $comments_number === 0 && comments_open() && post_password_required() | 35 | get_the_ID(), get_the_title(), get_comments_number(), comments_open(), post_password_required(), _e() |
$zero !== false && $one !== false && $more !== false && $none !== false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 38 | get_the_ID(), get_the_title(), get_comments_number(), comments_open(), pings_open(), post_password_required(), _e() |
$zero !== false && $one !== false && $more !== false && $none !== false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 40 | get_the_ID(), get_the_title(), get_comments_number(), comments_open(), pings_open(), printf() |
$more !== false && $comments_number !== 0 && post_password_required() | 40 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), post_password_required(), _e() |
$more !== false && $comments_number === 0 && comments_open() && post_password_required() | 43 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), comments_open(), post_password_required(), _e() |
$zero !== false && $one !== false && $more !== false && $none !== false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 45 | get_the_ID(), get_the_title(), get_comments_number(), comments_open(), pings_open(), esc_attr(), printf() |
$more !== false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 46 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), _e() |
$zero !== false && $one !== false && $more === false && $none !== false && $comments_number !== 0 && post_password_required() | 47 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), post_password_required(), _e() |
$more !== false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 48 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), comments_open(), pings_open(), printf() |
$more !== false && $comments_number !== 0 && post_password_required() | 48 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), post_password_required(), _e() |
$zero !== false && $one !== false && $more === false && $none !== false && $comments_number === 0 && comments_open() && post_password_required() | 50 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), comments_open(), post_password_required(), _e() |
98 further outcomes, up to 112 instructions
$more !== false && $comments_number === 0 && comments_open() && post_password_required() | 51 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), _e() |
$more !== false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 53 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), comments_open(), pings_open(), esc_attr(), printf() |
$zero !== false && $one !== false && $more === false && $none !== false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 53 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), post_password_required(), _e() |
$more !== false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 54 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), _e() |
$zero !== false && $one !== false && $more === false && $none !== false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 55 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && $comments_number !== 0 && post_password_required() | 55 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), post_password_required(), _e() |
$more === false && $none !== false && $comments_number !== 0 && post_password_required() | 55 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), post_password_required(), _e() |
$more !== false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 56 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), printf() |
$zero === false && $one === false && $more !== false && $none === false && $comments_number !== 0 && post_password_required() | 56 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), post_password_required(), _e() |
$zero !== false && $one !== false && $more !== false && $none !== false && $comments_number !== 0 && !post_password_required() | 58–60 | get_the_ID(), get_the_title(), get_comments_number(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && $comments_number === 0 && comments_open() && post_password_required() | 58 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), _e() |
$more === false && $none !== false && $comments_number === 0 && comments_open() && post_password_required() | 58 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), post_password_required(), _e() |
$zero === false && $one === false && $more !== false && $none === false && $comments_number === 0 && comments_open() && post_password_required() | 59 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), _e() |
$zero !== false && $one !== false && $more === false && $none !== false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 60 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), esc_attr(), printf() |
$zero !== false && $one !== false && $more !== false && $none !== false && comments_open() && !post_password_required() | 61–63 | get_the_ID(), get_the_title(), get_comments_number(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more !== false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 61 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), esc_attr(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 61 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), _e() |
$more === false && $none !== false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 61 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), post_password_required(), _e() |
$zero === false && $one === false && $more !== false && $none === false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 62 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), _e() |
$zero !== false && $one !== false && $more === false && $none === false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 63 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), printf() |
$more === false && $none !== false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 63 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), printf() |
$more === false && $none === false && $comments_number !== 0 && post_password_required() | 63 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), post_password_required(), _e() |
$zero === false && $one === false && $more === false && $none !== false && $comments_number !== 0 && post_password_required() | 63 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), post_password_required(), _e() |
$zero !== false && $one !== false && $more !== false && $none !== false && !comments_open() && pings_open() && !post_password_required() | 64–66 | get_the_ID(), get_the_title(), get_comments_number(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more !== false && $none === false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 64 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), printf() |
$zero !== false && $one !== false && $more !== false && $none !== false && !post_password_required() | 65–67 | get_the_ID(), get_the_title(), get_comments_number(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more !== false && $comments_number !== 0 && !post_password_required() | 66–68 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none === false && $comments_number === 0 && comments_open() && post_password_required() | 66 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), _e() |
$zero === false && $one === false && $more === false && $none !== false && $comments_number === 0 && comments_open() && post_password_required() | 66 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), post_password_required(), _e() |
$zero !== false && $one !== false && $more !== false && $none !== false && $comments_number === 0 && comments_open() && !post_password_required() | 68–70 | get_the_ID(), get_the_title(), get_comments_number(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 68 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), esc_attr(), printf() |
$more === false && $none !== false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 68 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), esc_attr(), printf() |
$more !== false && comments_open() && !post_password_required() | 69–71 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more !== false && $none === false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 69 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), esc_attr(), printf() |
$more === false && $none === false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 69 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), _e() |
$zero === false && $one === false && $more === false && $none !== false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 69 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), post_password_required(), _e() |
$zero !== false && $one !== false && $more !== false && $none !== false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 71–73 | get_the_ID(), get_the_title(), get_comments_number(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none === false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 71 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), printf() |
$zero === false && $one === false && $more === false && $none !== false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 71 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), printf() |
$zero === false && $one === false && $more === false && $none === false && $comments_number !== 0 && post_password_required() | 71 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), post_password_required(), _e() |
$more !== false && !comments_open() && pings_open() && !post_password_required() | 72–74 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more !== false && !post_password_required() | 73–75 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none !== false && $comments_number !== 0 && !post_password_required() | 73–75 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more !== false && $comments_number !== 0 && !post_password_required() | 74–76 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && $comments_number === 0 && comments_open() && post_password_required() | 74 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), _e() |
$more !== false && $comments_number === 0 && comments_open() && !post_password_required() | 76–78 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none !== false && comments_open() && !post_password_required() | 76–78 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none === false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 76 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), esc_attr(), printf() |
$zero === false && $one === false && $more === false && $none !== false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 76 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), esc_attr(), printf() |
$more !== false && comments_open() && !post_password_required() | 77–79 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && $comments_number === 0 && !comments_open() && pings_open() && post_password_required() | 77 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), _e() |
$more !== false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 79–81 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none !== false && !comments_open() && pings_open() && !post_password_required() | 79–81 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && $comments_number === 0 && !comments_open() && !pings_open() && empty($css_class) | 79 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), printf() |
$zero !== false && $one !== false && $more === false && $none !== false && !post_password_required() | 80–82 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more !== false && !comments_open() && pings_open() && !post_password_required() | 80–82 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && $comments_number !== 0 && !post_password_required() | 81–83 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more !== false && !post_password_required() | 81–83 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none !== false && $comments_number !== 0 && !post_password_required() | 81–83 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more !== false && $none === false && $comments_number !== 0 && !post_password_required() | 82–84 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none !== false && $comments_number === 0 && comments_open() && !post_password_required() | 83–85 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && comments_open() && !post_password_required() | 84–86 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more !== false && $comments_number === 0 && comments_open() && !post_password_required() | 84–86 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none !== false && comments_open() && !post_password_required() | 84–86 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && $comments_number === 0 && !comments_open() && !pings_open() && !empty($css_class) | 84 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), esc_attr(), printf() |
$zero === false && $one === false && $more !== false && $none === false && comments_open() && !post_password_required() | 85–87 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none !== false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 86–88 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && !comments_open() && pings_open() && !post_password_required() | 87–89 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more !== false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 87–89 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none !== false && !comments_open() && pings_open() && !post_password_required() | 87–89 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && !post_password_required() | 88–90 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none !== false && !post_password_required() | 88–90 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more !== false && $none === false && !comments_open() && pings_open() && !post_password_required() | 88–90 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none === false && $comments_number !== 0 && !post_password_required() | 89–91 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more !== false && $none === false && !post_password_required() | 89–91 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none !== false && $comments_number !== 0 && !post_password_required() | 89–91 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && $comments_number === 0 && comments_open() && !post_password_required() | 91–93 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none !== false && $comments_number === 0 && comments_open() && !post_password_required() | 91–93 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none === false && comments_open() && !post_password_required() | 92–94 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more !== false && $none === false && $comments_number === 0 && comments_open() && !post_password_required() | 92–94 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none !== false && comments_open() && !post_password_required() | 92–94 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero !== false && $one !== false && $more === false && $none === false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 94–96 | get_the_ID(), get_the_title(), get_comments_number(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none !== false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 94–96 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none === false && !comments_open() && pings_open() && !post_password_required() | 95–97 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more !== false && $none === false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 95–97 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none !== false && !comments_open() && pings_open() && !post_password_required() | 95–97 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none === false && !post_password_required() | 96–98 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none !== false && !post_password_required() | 96–98 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && $comments_number !== 0 && !post_password_required() | 97–99 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none === false && $comments_number === 0 && comments_open() && !post_password_required() | 99–101 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none !== false && $comments_number === 0 && comments_open() && !post_password_required() | 99–101 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && comments_open() && !post_password_required() | 100–102 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$more === false && $none === false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 102–104 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none !== false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 102–104 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && !comments_open() && pings_open() && !post_password_required() | 103–105 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_comments_link(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && !post_password_required() | 104–106 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && $comments_number === 0 && comments_open() && !post_password_required() | 107–109 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
$zero === false && $one === false && $more === false && $none === false && $comments_number === 0 && !comments_open() && pings_open() && !post_password_required() | 110–112 | get_the_ID(), get_the_title(), get_comments_number(), __(), sprintf(), __(), sprintf(), _n(), number_format_i18n(), sprintf(), __(), sprintf(), comments_open(), pings_open(), post_password_required(), get_permalink(), apply_filters(), apply_filters(), esc_url(), get_comments_number_text(), printf() |
Across PHP versions
| PHP | Compiled | Executed | Branches | Notes |
|---|---|---|---|---|
| 8.6-dev | 135 | 32–112 | 11 | |
| 8.5 | 135 | 32–112 | 11 | |
| 8.4 | 135 | 32–112 | 11 | |
| 8.3 | 135 | 32–112 | 11 | |
| 8.2 | 135 | 32–112 | 11 | |
| 8.1 | 135 | 32–112 | 11 | 2 fewer instructions than PHP 7.4 |
| 7.4 | 137 | 32–113 | 11 |
An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.
Hooks and filters fired · 2
2 hooks fire while comments_popup_link() runs, in this order:
- apply_filters( respond_link )filterline 1698 (+54 into the body)
Filters the respond link when a post has no comments.
- apply_filters( comments_popup_link_attributes )filterline 1712 (+68 into the body)
Filters the comments link attributes for display.
Uses · 16
- get_the_ID()Retrieves the ID of the current item in the WordPress Loop.
- get_the_title()Retrieves the post title.
- get_comments_number()Retrieves the amount of comments a post has.
- __()Retrieves the translation of $text.
- _n()Translates and retrieves the singular or plural form based on the supplied number.
- number_format_i18n()Converts float number to format based on the locale.
- comments_open()Determines whether the current post is open for comments.
- pings_open()Determines whether the current post is open for pings.
- esc_attr()Escaping for HTML attributes.
- post_password_required()Determines whether the post requires password and whether a correct password has been provided.
- _e()Displays translated text.
- get_permalink()Retrieves the full permalink for the current post or post ID.
Show all 16
- apply_filters()Calls the callback functions that have been added to a filter hook.
- get_comments_link()Retrieves the link to the current post comments.
- esc_url()Checks and cleans a URL.
- get_comments_number_text()Displays the language string for the number of comments the current post has.
Used by · 6
- Twenty_Eleven_Ephemera_Widget::widget()Outputs the HTML for this widget.
- Twenty_Fourteen_Ephemera_Widget::widget()Outputs the HTML for this widget.
- twentyfifteen_entry_meta()Prints HTML with meta information for the categories, tags.
- twentynineteen_comment_count()Prints HTML with the comment count for the current post.
- twentysixteen_entry_meta()Prints HTML with meta information for the categories, tags.
- twentytwenty_get_post_meta()Retrieves the post meta.
Source code
function comments_popup_link( $zero = false, $one = false, $more = false, $css_class = '', $none = false ) { $post_id = get_the_ID(); $post_title = get_the_title(); $comments_number = (int) 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>', $comments_number ); $more = sprintf( $more, number_format_i18n( $comments_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 === $comments_number && ! comments_open() && ! pings_open() ) { printf( '<span%1$s>%2$s</span>', ! empty( $css_class ) ? ' class="' . esc_attr( $css_class ) . '"' : '', $none ); return; } if ( post_password_required() ) { _e( 'Enter your password to view comments.' ); return; } if ( 0 === $comments_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. */ $comments_link = apply_filters( 'respond_link', $respond_link, $post_id ); } else { $comments_link = get_comments_link(); } $link_attributes = ''; /** * Filters the comments link attributes for display. * * @since 2.5.0 * * @param string $link_attributes The comments link attributes. Default empty. */ $link_attributes = apply_filters( 'comments_popup_link_attributes', $link_attributes ); printf( '<a href="%1$s"%2$s%3$s>%4$s</a>', esc_url( $comments_link ), ! empty( $css_class ) ? ' class="' . $css_class . '" ' : '', $link_attributes, get_comments_number_text( $zero, $one, $more ) );}Changelog
Introduced in 0.71. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 6.9.7 tag, from
src/wp-includes/comment-template.php, and regenerated for each WordPress release so it tracks the code rather than a snapshot of it. - Corrections
- Something wrong on this page? Report it and it gets fixed in the next regeneration.