wppaste
WordPress

wp_print_media_templates()

Since
3.5.0
Source
wp-includes/media-template.php:156
Prints the templates used in the media manager.

Compatibility

WordPress
since 3.5.0
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.

Performance profile

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

Reads stored settings via get_option(), cached per request but not free on a cold cache.

Scaling
Scales with input

The body loops, so the work grows with how much data it finds.

Instructions
1014–1034

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

Plugin surface
8 hooks

Third-party callbacks on 'upload_ui_over_quota', 'pre-upload-ui', 'pre-plupload-upload-ui' run inside this call, and their cost is not bounded by anything here.

Called by
0

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

What it touches

  • hookthird-party callbacksdo_action()called directly
  • optionoption read or writeget_option()called directly
  • cacheobject cachewp_cache_get()one call below wp_print_media_templates()
  • serializeserialisationmaybe_unserialize()one call below wp_print_media_templates()

Further down the call graph this can also reach 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 · 8 distinct outcomes

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

WhenInstructionsCalls it makes
_device_can_upload() && !is_multisite() && !isset($value) && !post_type_supports() && !$i && apply_filters()1014–1020__(), __(), esc_url(), __(), sprintf(), _ex(), _ex(), _e(), _e(), _e(), _e(), _e(), _device_can_upload(), is_multisite(), _e(), _ex(), _e(), do_action(), do_action(), remove_action(), do_action(), wp_max_upload_size(), __(), size_format(), esc_html(), printf(), __(), printf(), do_action(), admin_url(), add_query_arg(), esc_url(), _e(), admin_url(), add_query_arg(), esc_url(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), get_option(), __(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), _e(), esc_html_e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), esc_html_e(), esc_html_x(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), apply_filters(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), apply_filters(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), __(), __(), __(), __(), thumbnail(), esc_attr(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), wp_get_audio_extensions(), wp_underscore_audio_template(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), wp_get_video_extensions(), wp_underscore_video_template(), _e(), _e(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), _e(), __(), printf(), _ex(), _e(), _e(), _e(), esc_attr_e(), _ex(), _e(), esc_attr_e(), esc_attr_e(), get_bloginfo(), esc_js(), do_action()
_device_can_upload() && !is_multisite() && !isset($value) && !post_type_supports() && !$i1019–1025__(), __(), esc_url(), __(), sprintf(), _ex(), _ex(), _e(), _e(), _e(), _e(), _e(), _device_can_upload(), is_multisite(), _e(), _ex(), _e(), do_action(), do_action(), remove_action(), do_action(), wp_max_upload_size(), __(), size_format(), esc_html(), printf(), __(), printf(), do_action(), admin_url(), add_query_arg(), esc_url(), _e(), admin_url(), add_query_arg(), esc_url(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), get_option(), __(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), _e(), esc_html_e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), esc_html_e(), esc_html_x(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), apply_filters(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), apply_filters(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), __(), __(), __(), __(), thumbnail(), esc_attr(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), wp_get_audio_extensions(), wp_underscore_audio_template(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), wp_get_video_extensions(), wp_underscore_video_template(), _e(), _e(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), _e(), __(), printf(), _ex(), _e(), _e(), _e(), esc_attr_e(), _ex(), _e(), esc_attr_e(), esc_attr_e(), get_bloginfo(), esc_js(), do_action()
_device_can_upload() && !is_multisite() && !isset($value) && !post_type_supports() && !$i1019–1025__(), __(), esc_url(), __(), sprintf(), _ex(), _ex(), _e(), _e(), _e(), _e(), _e(), _device_can_upload(), is_multisite(), _e(), _ex(), _e(), do_action(), do_action(), remove_action(), do_action(), wp_max_upload_size(), __(), size_format(), esc_html(), printf(), __(), printf(), do_action(), admin_url(), add_query_arg(), esc_url(), _e(), admin_url(), add_query_arg(), esc_url(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), get_option(), __(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), _e(), esc_html_e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), esc_html_e(), esc_html_x(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), apply_filters(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), apply_filters(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), __(), __(), __(), __(), thumbnail(), esc_attr(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), wp_get_audio_extensions(), wp_underscore_audio_template(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), wp_get_video_extensions(), wp_underscore_video_template(), _e(), _e(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), _e(), __(), printf(), _ex(), _e(), _e(), _e(), esc_attr_e(), _ex(), _e(), esc_attr_e(), esc_attr_e(), get_bloginfo(), esc_js(), do_action()
_device_can_upload() && !is_multisite() && !isset($value) && !$i && apply_filters()1019–1025__(), __(), esc_url(), __(), sprintf(), _ex(), _ex(), _e(), _e(), _e(), _e(), _e(), _device_can_upload(), is_multisite(), _e(), _ex(), _e(), do_action(), do_action(), remove_action(), do_action(), wp_max_upload_size(), __(), size_format(), esc_html(), printf(), __(), printf(), do_action(), admin_url(), add_query_arg(), esc_url(), _e(), admin_url(), add_query_arg(), esc_url(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), get_option(), __(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), _e(), esc_html_e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), _e(), __(), __(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), esc_html_e(), esc_html_x(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), apply_filters(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), apply_filters(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), __(), __(), __(), __(), thumbnail(), esc_attr(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), wp_get_audio_extensions(), wp_underscore_audio_template(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), wp_get_video_extensions(), wp_underscore_video_template(), _e(), _e(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), _e(), __(), printf(), _ex(), _e(), _e(), _e(), esc_attr_e(), _ex(), _e(), esc_attr_e(), esc_attr_e(), get_bloginfo(), esc_js(), do_action()
_device_can_upload() && !is_multisite() && !isset($value) && !post_type_supports() && !$i && !apply_filters()1024–1030__(), __(), esc_url(), __(), sprintf(), _ex(), _ex(), _e(), _e(), _e(), _e(), _e(), _device_can_upload(), is_multisite(), _e(), _ex(), _e(), do_action(), do_action(), remove_action(), do_action(), wp_max_upload_size(), __(), size_format(), esc_html(), printf(), __(), printf(), do_action(), admin_url(), add_query_arg(), esc_url(), _e(), admin_url(), add_query_arg(), esc_url(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), get_option(), __(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), _e(), esc_html_e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), esc_html_e(), esc_html_x(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), apply_filters(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), apply_filters(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), __(), __(), __(), __(), thumbnail(), esc_attr(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), wp_get_audio_extensions(), wp_underscore_audio_template(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), wp_get_video_extensions(), wp_underscore_video_template(), _e(), _e(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), _e(), __(), printf(), _ex(), _e(), _e(), _e(), esc_attr_e(), _ex(), _e(), esc_attr_e(), esc_attr_e(), get_bloginfo(), esc_js(), do_action()
_device_can_upload() && !is_multisite() && !isset($value) && !$i1024–1030__(), __(), esc_url(), __(), sprintf(), _ex(), _ex(), _e(), _e(), _e(), _e(), _e(), _device_can_upload(), is_multisite(), _e(), _ex(), _e(), do_action(), do_action(), remove_action(), do_action(), wp_max_upload_size(), __(), size_format(), esc_html(), printf(), __(), printf(), do_action(), admin_url(), add_query_arg(), esc_url(), _e(), admin_url(), add_query_arg(), esc_url(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), get_option(), __(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), _e(), esc_html_e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), _e(), __(), __(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), esc_html_e(), esc_html_x(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), apply_filters(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), apply_filters(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), __(), __(), __(), __(), thumbnail(), esc_attr(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), wp_get_audio_extensions(), wp_underscore_audio_template(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), wp_get_video_extensions(), wp_underscore_video_template(), _e(), _e(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), _e(), __(), printf(), _ex(), _e(), _e(), _e(), esc_attr_e(), _ex(), _e(), esc_attr_e(), esc_attr_e(), get_bloginfo(), esc_js(), do_action()
_device_can_upload() && !is_multisite() && !isset($value) && !$i1024–1029__(), __(), esc_url(), __(), sprintf(), _ex(), _ex(), _e(), _e(), _e(), _e(), _e(), _device_can_upload(), is_multisite(), _e(), _ex(), _e(), do_action(), do_action(), remove_action(), do_action(), wp_max_upload_size(), __(), size_format(), esc_html(), printf(), __(), printf(), do_action(), admin_url(), add_query_arg(), esc_url(), _e(), admin_url(), add_query_arg(), esc_url(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), get_option(), __(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), _e(), esc_html_e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), _e(), __(), __(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), esc_html_e(), esc_html_x(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), apply_filters(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), apply_filters(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), __(), __(), __(), __(), thumbnail(), esc_attr(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), wp_get_audio_extensions(), wp_underscore_audio_template(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), wp_get_video_extensions(), wp_underscore_video_template(), _e(), _e(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), _e(), __(), printf(), _ex(), _e(), _e(), _e(), esc_attr_e(), _ex(), _e(), esc_attr_e(), esc_attr_e(), get_bloginfo(), esc_js(), do_action()
_device_can_upload() && !is_multisite() && !isset($value) && !$i && !apply_filters()1029–1034__(), __(), esc_url(), __(), sprintf(), _ex(), _ex(), _e(), _e(), _e(), _e(), _e(), _device_can_upload(), is_multisite(), _e(), _ex(), _e(), do_action(), do_action(), remove_action(), do_action(), wp_max_upload_size(), __(), size_format(), esc_html(), printf(), __(), printf(), do_action(), admin_url(), add_query_arg(), esc_url(), _e(), admin_url(), add_query_arg(), esc_url(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), __(), __(), _e(), _e(), _e(), _e(), _e(), get_option(), __(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), esc_attr_e(), _e(), esc_html_e(), __(), printf(), _e(), _e(), _e(), _e(), _e(), _e(), post_type_supports(), _e(), __(), __(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), esc_html_e(), esc_html_x(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), __(), __(), __(), __(), thumbnail(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), apply_filters(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), apply_filters(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), __(), __(), __(), __(), thumbnail(), esc_attr(), _e(), _e(), _e(), _e(), _e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_e(), esc_html_x(), _e(), _e(), _e(), _e(), _e(), _e(), _e(), esc_attr_e(), esc_attr_e(), wp_get_audio_extensions(), wp_underscore_audio_template(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), wp_get_video_extensions(), wp_underscore_video_template(), _e(), _e(), _e(), _e(), _e(), _e(), _ex(), _e(), _ex(), _e(), _e(), _e(), __(), printf(), _ex(), _e(), _e(), _e(), esc_attr_e(), _ex(), _e(), esc_attr_e(), esc_attr_e(), get_bloginfo(), esc_js(), do_action()

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-dev12811013–1033292 fewer instructions than PHP 8.5
8.512831014–103429
8.412831014–1034291 fewer instruction than PHP 8.3
8.312841015–103529
8.212841015–103529
8.112841015–103529
7.412841015–103529

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 · 12

12 hooks fire while wp_print_media_templates() runs, in this order:

  1. do_action( upload_ui_over_quota )actionline 259 (+103 into the body)

    Fires when an upload will exceed the defined upload space quota for a network site.

  2. do_action( pre-upload-ui )actionline 274 (+118 into the body)

    Fires just before the legacy (pre-3.5.0) upload interface is loaded.

  3. do_action( pre-plupload-upload-ui )actionline 276 (+120 into the body)

    Fires before the upload interface loads.

  4. do_action( post-plupload-upload-ui )actionline 280 (+124 into the body)

    Fires after the upload interface loads.

  5. do_action( post-plupload-upload-ui )actionline 284 (+128 into the body)

    Fires after the upload interface loads.

  6. do_action( post-upload-ui )actionline 314 (+158 into the body)

    Fires on the post upload UI screen.

  7. apply_filters( image_size_names_choose )filterline 913 (+757 into the body)

    Filters the names and labels of the default image sizes.

  8. apply_filters( image_size_names_choose )filterline 993 (+837 into the body)

    Filters the names and labels of the default image sizes.

  9. apply_filters( disable_captions )filterline 1081 (+925 into the body)

    Filters whether to disable captions.

  10. apply_filters( disable_captions )filterline 1144 (+988 into the body)

    Filters whether to disable captions.

  11. apply_filters( image_size_names_choose )filterline 1184 (+1028 into the body)

    Filters the names and labels of the default image sizes.

  12. do_action( print_media_templates )actionline 1584 (+1428 into the body)

    Fires when the custom Backbone media templates are printed.

Uses · 30

Show all 30

Source code

function wp_print_media_templates() {	$class = 'media-modal wp-core-ui'; 	$alt_text_description = sprintf(		/* translators: 1: Link to tutorial, 2: Additional link attributes, 3: Accessibility text. */		__( '<a href="%1$s" %2$s>Learn how to describe the purpose of the image%3$s</a>. Leave empty if the image is purely decorative.' ),		/* translators: Localized tutorial, if one exists. W3C Web Accessibility Initiative link has list of existing translations. */		esc_url( __( 'https://www.w3.org/WAI/tutorials/images/decision-tree/' ) ),		'target="_blank"',		sprintf(			'<span class="screen-reader-text"> %s</span>',			/* translators: Hidden accessibility text. */			__( '(opens in a new tab)' )		)	);	?> 	<?php // Template for the media frame: used both in the media grid and in the media modal. ?>	<script type="text/html" id="tmpl-media-frame">		<div class="media-frame-title" id="media-frame-title"></div>		<h2 class="media-frame-menu-heading"><?php _ex( 'Actions', 'media modal menu actions' ); ?></h2>		<button type="button" class="button button-link media-frame-menu-toggle" aria-expanded="false">			<?php _ex( 'Menu', 'media modal menu' ); ?>			<span class="dashicons dashicons-arrow-down" aria-hidden="true"></span>		</button>		<div class="media-frame-menu"></div>		<div class="media-frame-tab-panel">			<div class="media-frame-router"></div>			<div class="media-frame-content"></div>		</div>		<h2 class="media-frame-actions-heading screen-reader-text">		<?php			/* translators: Hidden accessibility text. */			_e( 'Selected media actions' );		?>		</h2>		<div class="media-frame-toolbar"></div>		<div class="media-frame-uploader"></div>	</script> 	<?php // Template for the media modal. ?>	<script type="text/html" id="tmpl-media-modal">		<div id="wp-media-modal" tabindex="0" class="<?php echo $class; ?>" role="dialog" aria-labelledby="media-frame-title">			<# if ( data.hasCloseButton ) { #>				<button type="button" class="media-modal-close"><span class="media-modal-icon" aria-hidden="true"></span><span class="screen-reader-text">					<?php					/* translators: Hidden accessibility text. */					_e( 'Close dialog' );					?>				</span></button>			<# } #>			<div class="media-modal-content" role="document"></div>		</div>		<div class="media-modal-backdrop"></div>	</script> 	<?php // Template for the window uploader, used for example in the media grid. ?>	<script type="text/html" id="tmpl-uploader-window">		<div class="uploader-window-content">			<div class="uploader-editor-title"><?php _e( 'Drop files to upload' ); ?></div>		</div>	</script> 	<?php // Template for the editor uploader. ?>	<script type="text/html" id="tmpl-uploader-editor">		<div class="uploader-editor-content">			<div class="uploader-editor-title"><?php _e( 'Drop files to upload' ); ?></div>		</div>	</script> 	<?php // Template for the inline uploader, used for example in the Media Library admin page - Add. ?>	<script type="text/html" id="tmpl-uploader-inline">		<# var messageClass = data.message ? 'has-upload-message' : 'no-upload-message'; #>		<# if ( data.canClose ) { #>		<button class="close dashicons dashicons-no"><span class="screen-reader-text">			<?php			/* translators: Hidden accessibility text. */			_e( 'Close uploader' );			?>		</span></button>

Changelog

Introduced in 3.5.0. Unchanged from 6.7.7 through 7.1.0.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 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/media-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.