wppaste
WordPress

render_block_core_search( array $attributes ): string

Since
6.3.0
Source
wp-includes/blocks/search.php:19
Dynamically renders the core/search block.

Compatibility

WordPress
since 6.3.0
PHP
7.4–8.6-dev
  • 6.7.10
  • 6.8.11
  • 6.9.10
  • 7.0.7
  • 7.1.3

Present in every tracked release (6.7.10 to 7.1.3), and compiles on PHP 7.4 through 8.6-dev.

Parameters

$attributesarray
The block attributes.

Return value

string
The search block markup.

Performance profile

How much work a call to render_block_core_search() 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
Light

Touches nothing outside its own arguments.

Scaling
Scales with input

The body loops, so the work grows with what you pass in.

Instructions
142–290

Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 369.

Plugin surface
None

Nothing here hands control to plugin code.

Called by
0

Nothing in core calls this; the cost is only what you spend yourself.

What it touches

  • hookthird-party callbacksapply_filters()one call below render_block_core_search()

Further down the call graph this can also reach option, cache, serialize, query 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 · 42 distinct outcomes

One number would be a lie: the work depends on which branch runs. These are every distinct cost render_block_core_search() can have, taken from its control-flow graph on PHP 8.5.

WhenInstructionsCalls it makes
$value && !->next_tag() && empty($typography_classes) && $button_position !== "button-only"142–146__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && !->next_tag() && empty($typography_classes) && $button_position === "button-only"161–165__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"164–168__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && !->next_tag() && empty($typography_classes) && $button_position !== "button-only"170–183__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && !->next_tag() && empty($typography_classes) && $button_position !== "button-only"177–189__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes)183–187__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes)183–184__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"186–199__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && !->next_tag() && empty($typography_classes) && $button_position === "button-only"189–202__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"192–205__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"193–205__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && !->next_tag() && empty($typography_classes) && $button_position === "button-only"196–208__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
30 further outcomes, up to 290 instructions
$value && empty($typography_classes) && $button_position !== "button-only"199–211__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only"202–203__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only"205–218__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"208–221__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes)211–224__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && empty($color_classes)211–219__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only"212–224__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"215–227__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes)218–230__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"218–231__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && empty($color_classes)218–223__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"225–237__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes)227–240__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && empty($color_classes)227–235__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only" && empty($color_classes)230–238__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes)234–246__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && empty($color_classes)234–239__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only"237–250__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only" && empty($color_classes)237–242__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"240–253__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only"244–256__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only" && empty($color_classes)246–254__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position !== "button-only"247–259__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only" && empty($color_classes)253–258__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), wp_strip_all_tags(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes)259–272__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && empty($color_classes)259–266__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes)266–278__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && empty($color_classes)266–271__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only" && empty($color_classes)278–285__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes) && $button_position === "button-only" && empty($color_classes)285–290__(), __(), label(), wp_unique_id(), classnames_for_block_core_search(), styles_for_block_core_search(), get_color_classes_for_block_core_search(), get_typography_classes_for_block_core_search(), get_border_color_classes_for_block_core_search(), wp_kses_post(), sprintf(), wp_parse_args(), ->next_tag(), ->next_tag(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), wp_enqueue_script_module(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), wp_kses_post(), wp_theme_get_element_class_name(), ->next_tag(), ->add_class(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), __(), ->set_attribute(), ->set_attribute(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()

This body has more branch combinations than are worth enumerating, so the table covers the outcomes found first rather than every one that exists.

Across PHP versions

PHPCompiledExecutedBranchesNotes
8.6-dev367141–289312 fewer instructions than PHP 8.5
8.5369142–29031
8.4369142–290317 fewer instructions than PHP 8.3
8.3376143–29731
8.2376143–29731
8.1376143–297312 fewer instructions than PHP 7.4
7.4378143–29731

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.

Uses · 19

Show all 19

Source code

function render_block_core_search( $attributes ) {	// Older versions of the Search block defaulted the label and buttonText	// attributes to `__( 'Search' )` meaning that many posts contain `<!--	// wp:search /-->`. Support these by defaulting an undefined label and	// buttonText to `__( 'Search' )`.	$attributes = wp_parse_args(		$attributes,		array(			'label'      => __( 'Search' ),			'buttonText' => __( 'Search' ),		)	); 	$input_id            = wp_unique_id( 'wp-block-search__input-' );	$classnames          = classnames_for_block_core_search( $attributes );	$show_label          = ( ! empty( $attributes['showLabel'] ) ) ? true : false;	$use_icon_button     = ( ! empty( $attributes['buttonUseIcon'] ) ) ? true : false;	$show_button         = ( ! empty( $attributes['buttonPosition'] ) && 'no-button' === $attributes['buttonPosition'] ) ? false : true;	$button_position     = $show_button ? $attributes['buttonPosition'] : null;	$query_params        = ( ! empty( $attributes['query'] ) ) ? $attributes['query'] : array();	$button              = '';	$query_params_markup = '';	$inline_styles       = styles_for_block_core_search( $attributes );	$color_classes       = get_color_classes_for_block_core_search( $attributes );	$typography_classes  = get_typography_classes_for_block_core_search( $attributes );	$is_button_inside    = ! empty( $attributes['buttonPosition'] ) &&		'button-inside' === $attributes['buttonPosition'];	// Border color classes need to be applied to the elements that have a border color.	$border_color_classes = get_border_color_classes_for_block_core_search( $attributes );	// This variable is a constant and its value is always false at this moment.	// It is defined this way because some values depend on it, in case it changes in the future.	$open_by_default = false; 	$label_inner_html = empty( $attributes['label'] ) ? __( 'Search' ) : wp_kses_post( $attributes['label'] );	$label            = new WP_HTML_Tag_Processor( sprintf( '<label %1$s>%2$s</label>', $inline_styles['label'], $label_inner_html ) );	if ( $label->next_tag() ) {		$label->set_attribute( 'for', $input_id );		$label->add_class( 'wp-block-search__label' );		if ( $show_label && ! empty( $attributes['label'] ) ) {			if ( ! empty( $typography_classes ) ) {				$label->add_class( $typography_classes );			}		} else {			$label->add_class( 'screen-reader-text' );		}	} 	$input         = new WP_HTML_Tag_Processor( sprintf( '<input type="search" name="s" required %s/>', $inline_styles['input'] ) );	$input_classes = array( 'wp-block-search__input' );	if ( ! $is_button_inside && ! empty( $border_color_classes ) ) {		$input_classes[] = $border_color_classes;	}	if ( ! empty( $typography_classes ) ) {		$input_classes[] = $typography_classes;	}	if ( $input->next_tag() ) {		$input->add_class( implode( ' ', $input_classes ) );		$input->set_attribute( 'id', $input_id );		$input->set_attribute( 'value', get_search_query() );		$input->set_attribute( 'placeholder', $attributes['placeholder'] ); 		// If it's interactive, enqueue the script module and add the directives.		$is_expandable_searchfield = 'button-only' === $button_position;		if ( $is_expandable_searchfield ) {			wp_enqueue_script_module( '@wordpress/block-library/search/view' ); 			$input->set_attribute( 'data-wp-bind--aria-hidden', '!context.isSearchInputVisible' );			$input->set_attribute( 'data-wp-bind--tabindex', 'state.tabindex' ); 			// Adding these attributes manually is needed until the Interactivity API			// SSR logic is added to core.			$input->set_attribute( 'aria-hidden', 'true' );			$input->set_attribute( 'tabindex', '-1' );		}	} 	if ( count( $query_params ) > 0 ) {		foreach ( $query_params as $param => $value ) {			$query_params_markup .= sprintf(				'<input type="hidden" name="%s" value="%s" />',

Changelog

Introduced in 6.3.0. Unchanged from 6.7.10 through 7.1.3.

  1. 6.7.10
  2. 6.8.11
  3. 6.9.10
  4. 7.0.7
  5. 7.1.3

Signature, return type and hooks compared across 5 parsed releases.

About this page

Parsed data
Generated from the wordpress-develop 6.7.10 tag, from src/wp-includes/blocks/search.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.