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
138–286

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

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"138–142__(), __(), 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"157–161__(), __(), 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"160–164__(), __(), 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"166–179__(), __(), 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"173–185__(), __(), 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)179–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(), ->add_class(), ->set_attribute(), get_search_query(), ->set_attribute(), ->set_attribute(), esc_attr(), class(), __(), __(), isSearchInputVisible(), home_url(), esc_url(), sprintf()
$value && empty($typography_classes)179–180__(), __(), 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"182–195__(), __(), 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"185–198__(), __(), 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"188–201__(), __(), 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"189–201__(), __(), 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"192–204__(), __(), 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 286 instructions
$value && empty($typography_classes) && $button_position !== "button-only"195–207__(), __(), 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"198–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(), ->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"201–214__(), __(), 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"204–217__(), __(), 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)207–220__(), __(), 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)207–215__(), __(), 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"208–220__(), __(), 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"211–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_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)214–226__(), __(), 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"214–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(), 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)214–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_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"221–233__(), __(), 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)223–236__(), __(), 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)223–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(), ->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)226–234__(), __(), 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)230–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_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)230–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_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"233–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(), 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)233–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_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"236–249__(), __(), 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"240–252__(), __(), 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)242–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(), ->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"243–255__(), __(), 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)249–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_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)255–268__(), __(), 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)255–262__(), __(), 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)262–274__(), __(), 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)262–267__(), __(), 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)274–281__(), __(), 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)281–286__(), __(), 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-dev359137–285292 fewer instructions than PHP 8.5
8.5361138–28629
8.4361138–286297 fewer instructions than PHP 8.3
8.3368139–29329
8.2368139–29329
8.1368139–293292 fewer instructions than PHP 7.4
7.4370139–29329

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'] );	$use_icon_button     = ! empty( $attributes['buttonUseIcon'] );	$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.8.11 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.