media_handle_upload( string $file_id, int $post_id, array $post_data = array(), array $overrides = array('test_form' => \false) ): int|WP_Error
- Since
- 2.5.0
- Source
wp-admin/includes/media.php:295
Compatibility
- WordPress
- since 2.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.
Parameters
$file_idstring- Index of the
$_FILESarray that the file was sent. $post_idint- The post ID of a post to attach the media item to. Required, but can be set to 0, creating a media item that has no relationship to a post.
$post_dataarrayoptional- Overwrite some of the attachment.Default:
array() $overridesarrayoptional- Override the wp_handle_upload() behavior.Default:
array('test_form' => \false)
Return value
int|WP_Error- ID of the attachment or a WP_Error object on failure.
Performance profile
How much work a call to media_handle_upload() does, and what it touches: the algorithmic scaling, the Zend instruction count per call across PHP versions, the hooks it hands control to, and the core code that calls it. Measured from the compiled opcodes, not a stopwatch, so every number is identical on any machine running the same PHP version, and every function in core is ranked by cost.
- Cost class
- Heavy
- Scaling
- Constant
- Instructions
- 31–192
- Plugin surface
- None
- Called by
- 2
Reaches the database via get_post().
No loop in the body: the same number of instructions runs whatever you pass in.
Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 309.
Nothing here hands control to plugin code.
2 places in core call this, so the cost is paid more often than your own code shows.
What it touches
- querycontent query
get_post()called directly - optionoption read or write
get_option()one call below media_handle_upload() - hookthird-party callbacks
apply_filters()one call below media_handle_upload()
Further down the call graph this can also reach cache, serialize and transient. Those are the worst case, several calls deep and usually down an error path, not what a normal call pays.
What one call costs · 151 distinct outcomes
One number would be a lie: the work depends on which branch runs. These are every distinct cost media_handle_upload() can have, taken from its control-flow graph on PHP 8.5.
| When | Instructions | Calls it makes |
|---|---|---|
isset($file) | 31 | current_time(), get_post(), wp_handle_upload() |
!isset($file) && !$type && !$alt && is_wp_error() | 79–82 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && !$alt && is_wp_error() | 84–100 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && !$type && $alt && is_wp_error() | 87–90 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && !$type && !$alt && !is_wp_error() && headers_sent() | 90–93 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $alt && is_wp_error() | 92–108 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && !$type && !$alt && !is_wp_error() && !headers_sent() | 94–97 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($meta) && empty($title) && !$alt && is_wp_error() | 95–102 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && !$alt && !is_wp_error() && headers_sent() | 95–111 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && !$type && $alt && !is_wp_error() && headers_sent() | 98–101 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && !$alt && !is_wp_error() && !headers_sent() | 99–115 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && !$alt && is_wp_error() | 100–109 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), sanitize_title(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
139 further outcomes, up to 192 instructions
!isset($file) && !$type && $alt && !is_wp_error() && !headers_sent() | 102–105 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($meta) && empty($title) && $alt && is_wp_error() | 103–110 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $alt && !is_wp_error() && headers_sent() | 103–119 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && !$alt && is_wp_error() | 104–111 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($meta) && !$alt && is_wp_error() | 105–113 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($meta) && empty($title) && !$alt && !is_wp_error() && headers_sent() | 106–113 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $alt && !is_wp_error() && !headers_sent() | 107–123 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $alt && is_wp_error() | 108–117 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), sanitize_title(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && empty($meta) && empty($title) && !$alt && !is_wp_error() && !headers_sent() | 110–117 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && !$alt && !is_wp_error() && headers_sent() | 111–120 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), sanitize_title(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && $alt && is_wp_error() | 112–119 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && empty($meta) && $alt && is_wp_error() | 113–121 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && !$alt && is_wp_error() | 114–122 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($meta) && empty($title) && $alt && !is_wp_error() && headers_sent() | 114–121 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && !$alt && is_wp_error() | 115–122 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($title) && !$alt && !is_wp_error() && headers_sent() | 115–122 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && !$alt && !is_wp_error() && !headers_sent() | 115–124 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), sanitize_title(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && is_wp_error() | 116–124 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($meta) && !$alt && !is_wp_error() && headers_sent() | 116–124 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($meta) && empty($title) && $alt && !is_wp_error() && !headers_sent() | 118–125 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && !$alt && !is_wp_error() && !headers_sent() | 119–126 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $alt && !is_wp_error() && headers_sent() | 119–128 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), sanitize_title(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && !$alt && is_wp_error() | 120–130 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($meta) && !$alt && !is_wp_error() && !headers_sent() | 120–128 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && is_wp_error() | 122–130 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && empty($title) && $alt && is_wp_error() | 123–130 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && empty($title) && $alt && !is_wp_error() && headers_sent() | 123–130 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $alt && !is_wp_error() && !headers_sent() | 123–132 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_image_metadata(), sanitize_title(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && is_wp_error() | 124–132 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && empty($meta) && $alt && !is_wp_error() && headers_sent() | 124–132 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && is_wp_error() | 125–133 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && !$alt && is_wp_error() | 125–132 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && !$alt && !is_wp_error() && headers_sent() | 125–133 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && !$alt && !is_wp_error() && headers_sent() | 126–133 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && is_wp_error() | 127–134 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($title) && $alt && !is_wp_error() && !headers_sent() | 127–134 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && headers_sent() | 127–135 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && $alt && is_wp_error() | 128–138 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && empty($meta) && $alt && !is_wp_error() && !headers_sent() | 128–136 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && !headers_sent() | 129–137 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && !$alt && is_wp_error() | 130–137 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && !$alt && is_wp_error() | 130–141 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($title) && !$alt && !is_wp_error() && !headers_sent() | 130–137 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && !$alt && is_wp_error() | 131–141 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($title) && !$alt && !is_wp_error() && headers_sent() | 131–141 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && !headers_sent() | 131–139 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && is_wp_error() | 133–141 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && $alt && is_wp_error() | 133–140 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && $alt && !is_wp_error() && headers_sent() | 133–141 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && $alt && !is_wp_error() && headers_sent() | 134–141 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && !$alt && !is_wp_error() && !headers_sent() | 135–145 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && is_wp_error() | 135–142 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && $alt && !is_wp_error() && headers_sent() | 135–143 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && !$alt && is_wp_error() | 136–143 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && !$alt && !is_wp_error() && headers_sent() | 136–144 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && headers_sent() | 136–143 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && !headers_sent() | 137–145 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && $alt && is_wp_error() | 138–145 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && $alt && is_wp_error() | 138–149 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && empty($title) && $alt && !is_wp_error() && !headers_sent() | 138–145 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && headers_sent() | 138–145 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && $alt && is_wp_error() | 139–149 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && empty($title) && $alt && !is_wp_error() && headers_sent() | 139–149 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && !headers_sent() | 139–147 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && !$alt && is_wp_error() | 140–148 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && !$alt && !is_wp_error() && !headers_sent() | 140–148 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && !headers_sent() | 140–147 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && !$alt && is_wp_error() | 141–148 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && empty($title) && isset($track_number) && !$alt && !is_wp_error() && headers_sent() | 141–148 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && is_wp_error() | 141–152 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && !$alt && is_wp_error() | 141–151 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && !$alt && !is_wp_error() && headers_sent() | 141–152 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && !$alt && !is_wp_error() && headers_sent() | 142–152 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && !headers_sent() | 142–149 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && $alt && !is_wp_error() && !headers_sent() | 143–153 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && $alt && is_wp_error() | 144–151 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && $alt && !is_wp_error() && headers_sent() | 144–152 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && headers_sent() | 144–151 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && !$alt && !is_wp_error() && !headers_sent() | 145–152 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && !headers_sent() | 145–156 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && !$alt && !is_wp_error() && !headers_sent() | 146–156 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && headers_sent() | 146–153 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && !$alt && !is_wp_error() && headers_sent() | 147–154 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && $alt && is_wp_error() | 148–156 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && $alt && !is_wp_error() && !headers_sent() | 148–156 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && !headers_sent() | 148–155 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && $alt && is_wp_error() | 149–156 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && empty($title) && isset($track_number) && $alt && !is_wp_error() && headers_sent() | 149–156 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && is_wp_error() | 149–160 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && $alt && is_wp_error() | 149–159 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && $alt && !is_wp_error() && headers_sent() | 149–160 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && $alt && !is_wp_error() && headers_sent() | 150–160 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && !headers_sent() | 150–157 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && !$alt && is_wp_error() | 151–159 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && isset($track_number) && !$alt && is_wp_error() | 151–158 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && isset($track_number) && !$alt && !is_wp_error() && headers_sent() | 151–159 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && !$alt && !is_wp_error() && !headers_sent() | 151–158 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && !$alt && !is_wp_error() && headers_sent() | 152–159 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && !$alt && is_wp_error() | 152–162 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && !$alt && !is_wp_error() && headers_sent() | 152–163 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && headers_sent() | 152–162 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && $alt && !is_wp_error() && !headers_sent() | 153–160 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && !headers_sent() | 153–164 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && $alt && !is_wp_error() && !headers_sent() | 154–164 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && !$alt && !is_wp_error() && !headers_sent() | 155–163 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && $alt && !is_wp_error() && headers_sent() | 155–162 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && !$alt && !is_wp_error() && !headers_sent() | 156–163 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && !headers_sent() | 156–167 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !$alt && !is_wp_error() && !headers_sent() | 156–166 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && $alt && is_wp_error() | 159–167 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && isset($track_number) && $alt && is_wp_error() | 159–166 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && isset($track_number) && $alt && !is_wp_error() && headers_sent() | 159–167 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && $alt && !is_wp_error() && !headers_sent() | 159–166 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && $alt && !is_wp_error() && headers_sent() | 160–167 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && $alt && is_wp_error() | 160–170 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && $alt && !is_wp_error() && headers_sent() | 160–171 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && headers_sent() | 160–170 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && isset($track_number) && !$alt && is_wp_error() | 162–169 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error() |
!isset($file) && $type && isset($track_number) && !$alt && !is_wp_error() && headers_sent() | 162–170 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && !$alt && !is_wp_error() && headers_sent() | 162–169 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && $alt && !is_wp_error() && !headers_sent() | 163–171 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && !$alt && !is_wp_error() && headers_sent() | 163–173 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && empty($title) && isset($track_number) && $alt && !is_wp_error() && !headers_sent() | 164–171 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && !headers_sent() | 164–175 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && $alt && !is_wp_error() && !headers_sent() | 164–174 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && !$alt && !is_wp_error() && !headers_sent() | 166–174 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && !$alt && !is_wp_error() && !headers_sent() | 166–173 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && !$alt && !is_wp_error() && !headers_sent() | 167–177 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && isset($track_number) && $alt && is_wp_error() | 170–177 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error() |
!isset($file) && $type && isset($track_number) && $alt && !is_wp_error() && headers_sent() | 170–178 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && $alt && !is_wp_error() && headers_sent() | 170–177 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && $alt && !is_wp_error() && headers_sent() | 171–181 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && isset($track_number) && !$alt && !is_wp_error() && headers_sent() | 173–180 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && $alt && !is_wp_error() && !headers_sent() | 174–182 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && isset($track_number) && $alt && !is_wp_error() && !headers_sent() | 174–181 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && $alt && !is_wp_error() && !headers_sent() | 175–185 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && isset($track_number) && !$alt && !is_wp_error() && !headers_sent() | 177–184 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && isset($track_number) && $alt && !is_wp_error() && headers_sent() | 181–188 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
!isset($file) && $type && !empty($meta) && isset($track_number) && $alt && !is_wp_error() && !headers_sent() | 185–192 | current_time(), get_post(), wp_handle_upload(), pathinfo(), wp_basename(), sanitize_text_field(), wp_read_audio_metadata(), __(), sprintf(), __(), sprintf(), explode(), __(), number_format_i18n(), number_format_i18n(), sprintf(), __(), sprintf(), post_mime_type(), wp_insert_attachment(), sanitize_text_field(), update_post_meta(), is_wp_error(), headers_sent(), header(), wp_generate_attachment_metadata(), wp_update_attachment_metadata() |
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
| PHP | Compiled | Executed | Branches | Notes |
|---|---|---|---|---|
| 8.6-dev | 309 | 31–192 | 29 | |
| 8.5 | 309 | 31–192 | 29 | |
| 8.4 | 309 | 31–192 | 29 | 23 fewer instructions than PHP 8.3 |
| 8.3 | 332 | 31–201 | 29 | |
| 8.2 | 332 | 31–201 | 29 | |
| 8.1 | 332 | 31–201 | 29 | |
| 7.4 | 332 | 31–201 | 29 |
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 · 17
- current_time()Retrieves the current time based on specified type.
- get_post()Retrieves post data given a post ID or post object.
- wp_handle_upload()Wrapper for _wp_handle_upload().
- wp_basename()i18n-friendly version of basename().
- sanitize_text_field()Sanitizes a string from user input or from the database.
- wp_read_audio_metadata()Retrieves metadata from an audio file's ID3 tags.
- __()Retrieves the translation of $text.
- number_format_i18n()Converts float number to format based on the locale.
- str_starts_with()Polyfill for `str_starts_with()` function added in PHP 8.0.
- wp_read_image_metadata()Gets extended image metadata, exif or iptc as available.
- sanitize_title()Sanitizes a string into a slug, which can be used in URLs or HTML attributes.
- wp_insert_attachment()Inserts an attachment.
Show all 17
- update_post_meta()Updates a post meta field based on the given post ID.
- is_wp_error()Checks whether the given variable is a WordPress Error.
- wp_update_attachment_metadata()Updates metadata for an attachment.
- wp_generate_attachment_metadata()Generates attachment meta data and create image sub-sizes for images.
- WP_Error::__construct()Initializes the error.
Used by · 2
- wp_ajax_upload_attachment()Handles uploading attachments via AJAX.
- wp_media_upload_handler()Handles the process of uploading media.
Source code
function media_handle_upload( $file_id, $post_id, $post_data = array(), $overrides = array( 'test_form' => false ) ) { $time = current_time( 'mysql' ); $post = get_post( $post_id ); if ( $post ) { // The post date doesn't usually matter for pages, so don't backdate this upload. if ( 'page' !== $post->post_type && substr( $post->post_date, 0, 4 ) > 0 ) { $time = $post->post_date; } } $file = wp_handle_upload( $_FILES[ $file_id ], $overrides, $time ); if ( isset( $file['error'] ) ) { return new WP_Error( 'upload_error', $file['error'] ); } $name = $_FILES[ $file_id ]['name']; $ext = pathinfo( $name, PATHINFO_EXTENSION ); $name = wp_basename( $name, ".$ext" ); $url = $file['url']; $type = $file['type']; $file = $file['file']; $title = sanitize_text_field( $name ); $content = ''; $excerpt = ''; $alt = ''; if ( preg_match( '#^audio#', $type ) ) { $meta = wp_read_audio_metadata( $file ); if ( ! empty( $meta['title'] ) ) { $title = $meta['title']; } if ( ! empty( $title ) ) { if ( ! empty( $meta['album'] ) && ! empty( $meta['artist'] ) ) { /* translators: 1: Audio track title, 2: Album title, 3: Artist name. */ $content .= sprintf( __( '"%1$s" from %2$s by %3$s.' ), $title, $meta['album'], $meta['artist'] ); } elseif ( ! empty( $meta['album'] ) ) { /* translators: 1: Audio track title, 2: Album title. */ $content .= sprintf( __( '"%1$s" from %2$s.' ), $title, $meta['album'] ); } elseif ( ! empty( $meta['artist'] ) ) { /* translators: 1: Audio track title, 2: Artist name. */ $content .= sprintf( __( '"%1$s" by %2$s.' ), $title, $meta['artist'] ); } else { /* translators: %s: Audio track title. */ $content .= sprintf( __( '"%s".' ), $title ); } } elseif ( ! empty( $meta['album'] ) ) { if ( ! empty( $meta['artist'] ) ) { /* translators: 1: Audio album title, 2: Artist name. */ $content .= sprintf( __( '%1$s by %2$s.' ), $meta['album'], $meta['artist'] ); } else { $content .= $meta['album'] . '.'; } } elseif ( ! empty( $meta['artist'] ) ) { $content .= $meta['artist'] . '.'; } if ( ! empty( $meta['year'] ) ) { /* translators: Audio file track information. %d: Year of audio track release. */ $content .= ' ' . sprintf( __( 'Released: %d.' ), $meta['year'] ); } if ( ! empty( $meta['track_number'] ) ) { $track_number = explode( '/', $meta['track_number'] ); if ( is_numeric( $track_number[0] ) ) { if ( isset( $track_number[1] ) && is_numeric( $track_number[1] ) ) { $content .= ' ' . sprintf( /* translators: Audio file track information. 1: Audio track number, 2: Total audio tracks. */ __( 'Track %1$s of %2$s.' ), number_format_i18n( $track_number[0] ), number_format_i18n( $track_number[1] )Changelog
Introduced in 2.5.0. Unchanged from 6.7.7 through 7.1.0.
Signature, return type and hooks compared across 5 parsed releases.
About this page
- Parsed data
- Generated from the wordpress-develop 7.0.4 tag, from
src/wp-admin/includes/media.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.