wp_ajax_media_create_image_subsizes()
- Since
- 5.3.0
- Source
wp-admin/includes/ajax-actions.php:2535
Compatibility
- WordPress
- since 5.3.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_ajax_media_create_image_subsizes() 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–88
- Plugin surface
- None
- Called by
- 0
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 90.
Nothing here hands control to plugin code.
Nothing in core calls this; the cost is only what you spend yourself.
What it touches
- querycontent query
get_post()called directly - hookthird-party callbacks
do_action()one call below wp_ajax_media_create_image_subsizes()
Further down the call graph this can also reach option, transient, serialize and cache. Those are the worst case, several calls deep and usually down an error path, not what a normal call pays.
What one call costs · 108 distinct outcomes
One number would be a lie: the work depends on which branch runs. These are every distinct cost wp_ajax_media_create_image_subsizes() can have, taken from its control-flow graph on PHP 8.5.
| When | Instructions | Calls it makes |
|---|---|---|
current_user_can() && headers_sent() | 31 | check_ajax_referer(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && headers_sent() | 34 | check_ajax_referer(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && !headers_sent() | 35 | check_ajax_referer(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && !empty($value) && !wp_attachment_is_image() && headers_sent() | 35 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && !headers_sent() | 38 | check_ajax_referer(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && !wp_attachment_is_image() && headers_sent() | 38 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
headers_sent() | 38 | check_ajax_referer(), current_user_can(), __(), message(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && !empty($value) && !wp_attachment_is_image() && !headers_sent() | 39 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
!empty($value) && wp_attachment_is_image() && headers_sent() | 40 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && headers_sent() | 41 | check_ajax_referer(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
empty($value) && headers_sent() | 41 | check_ajax_referer(), current_user_can(), __(), message(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && !wp_attachment_is_image() && !headers_sent() | 42 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
96 further outcomes, up to 88 instructions
!headers_sent() | 42 | check_ajax_referer(), current_user_can(), __(), message(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
!empty($value) && !wp_attachment_is_image() && headers_sent() | 42 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 43 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!empty($value) && wp_attachment_is_image() && !headers_sent() | 44 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && headers_sent() | 45 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && !headers_sent() | 45 | check_ajax_referer(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && !wp_attachment_is_image() && headers_sent() | 45 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
empty($value) && !headers_sent() | 45 | check_ajax_referer(), current_user_can(), __(), message(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!wp_attachment_is_image() && headers_sent() | 45 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!current_user_can() && headers_sent() | 45 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
!empty($value) && !wp_attachment_is_image() && !headers_sent() | 46 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 47 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!empty($value) && wp_attachment_is_image() && !current_user_can() && headers_sent() | 47 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 48 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
empty($value) && headers_sent() | 48 | check_ajax_referer(), current_user_can(), __(), message(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
!current_user_can() && empty($value) && headers_sent() | 48 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && !headers_sent() | 49 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && !wp_attachment_is_image() && !headers_sent() | 49 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
!wp_attachment_is_image() && !headers_sent() | 49 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!current_user_can() && !headers_sent() | 49 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
!current_user_can() && !wp_attachment_is_image() && headers_sent() | 49 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 50 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && !current_user_can() && headers_sent() | 50 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!empty($value) && wp_attachment_is_image() && !current_user_can() && !headers_sent() | 51 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 52 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && headers_sent() | 52 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
empty($value) && !headers_sent() | 52 | check_ajax_referer(), current_user_can(), __(), message(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
!wp_attachment_is_image() && headers_sent() | 52 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
!current_user_can() && empty($value) && !headers_sent() | 52 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!current_user_can() && !wp_attachment_is_image() && headers_sent() | 52 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!current_user_can() && !wp_attachment_is_image() && !headers_sent() | 53 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && headers_sent() | 54 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 54 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && !current_user_can() && !headers_sent() | 54 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!current_user_can() && wp_attachment_is_image() && headers_sent() | 54 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 55 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 55 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!current_user_can() && empty($value) && headers_sent() | 55 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && !headers_sent() | 56 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
!wp_attachment_is_image() && !headers_sent() | 56 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
!current_user_can() && !wp_attachment_is_image() && !headers_sent() | 56 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 57 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
wp_attachment_is_image() && !current_user_can() && headers_sent() | 57 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
!current_user_can() && wp_attachment_is_image() && headers_sent() | 57 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && !headers_sent() | 58 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
!current_user_can() && wp_attachment_is_image() && !headers_sent() | 58 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 59 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 59 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 59 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
!current_user_can() && empty($value) && !headers_sent() | 59 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
!current_user_can() && !wp_attachment_is_image() && headers_sent() | 59 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && headers_sent() | 60 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 61 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && headers_sent() | 61 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
wp_attachment_is_image() && !current_user_can() && !headers_sent() | 61 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
!current_user_can() && wp_attachment_is_image() && !headers_sent() | 61 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 62 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 62 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 63 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 63 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
!current_user_can() && !wp_attachment_is_image() && !headers_sent() | 63 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 64 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && !headers_sent() | 64 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 64 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
!current_user_can() && wp_attachment_is_image() && headers_sent() | 64 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && !headers_sent() | 65 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 66 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 66 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 67 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && headers_sent() | 67 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 68 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 68 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 68 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
!current_user_can() && wp_attachment_is_image() && !headers_sent() | 68 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 69 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 70 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 70 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 71 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && !empty($value) && wp_attachment_is_image() && !headers_sent() | 71 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 71 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 72 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 73 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 74 | check_ajax_referer(), current_user_can(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 74 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 74 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 75 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 75 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && headers_sent() | 77 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 77 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 78 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 78 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), header(), wp_update_image_subsizes(), wp_send_json_success() |
current_user_can() && wp_attachment_is_image() && !headers_sent() | 81 | check_ajax_referer(), current_user_can(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 81 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 82 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && headers_sent() | 84 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
wp_attachment_is_image() && !headers_sent() | 88 | check_ajax_referer(), current_user_can(), __(), message(), __(), message(), wp_attachment_is_image(), current_user_can(), get_post(), time(), strtotime(), wp_delete_attachment(), wp_send_json_success(), headers_sent(), header(), wp_update_image_subsizes(), wp_prepare_attachment_for_js(), __(), message(), wp_send_json_success() |
Across PHP versions
Compiles the same on PHP 7.4, 8.1, 8.2, 8.3, 8.4, 8.5 and 8.6-dev: 90 instructions, 31–88 executed per call, 10 branches. The work does not change between versions.
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 · 10
- check_ajax_referer()Verifies the Ajax request to prevent processing requests external of the blog.
- current_user_can()Returns whether the current user has the specified capability.
- wp_send_json_error()Sends a JSON response back to an Ajax request, indicating failure.
- __()Retrieves the translation of $text.
- wp_attachment_is_image()Determines whether an attachment is an image.
- get_post()Retrieves post data given a post ID or post object.
- wp_delete_attachment()Trashes or deletes an attachment.
- wp_send_json_success()Sends a JSON response back to an Ajax request, indicating success.
- wp_update_image_subsizes()If any of the currently registered image sub-sizes are missing, create them and update the image meta data.
- wp_prepare_attachment_for_js()Prepares an attachment post object for JS, where it is expected to be JSON-encoded and fit into an Attachment model.
Source code
function wp_ajax_media_create_image_subsizes() { check_ajax_referer( 'media-form' ); if ( ! current_user_can( 'upload_files' ) ) { wp_send_json_error( array( 'message' => __( 'Sorry, you are not allowed to upload files.' ) ) ); } if ( empty( $_POST['attachment_id'] ) ) { wp_send_json_error( array( 'message' => __( 'Upload failed. Please reload and try again.' ) ) ); } $attachment_id = (int) $_POST['attachment_id']; if ( ! empty( $_POST['_wp_upload_failed_cleanup'] ) ) { // Upload failed. Cleanup. if ( wp_attachment_is_image( $attachment_id ) && current_user_can( 'delete_post', $attachment_id ) ) { $attachment = get_post( $attachment_id ); // Created at most 10 min ago. if ( $attachment && ( time() - strtotime( $attachment->post_date_gmt ) < 600 ) ) { wp_delete_attachment( $attachment_id, true ); wp_send_json_success(); } } } /* * Set a custom header with the attachment_id. * Used by the browser/client to resume creating image sub-sizes after a PHP fatal error. */ if ( ! headers_sent() ) { header( 'X-WP-Upload-Attachment-ID: ' . $attachment_id ); } /* * This can still be pretty slow and cause timeout or out of memory errors. * The js that handles the response would need to also handle HTTP 500 errors. */ wp_update_image_subsizes( $attachment_id ); if ( ! empty( $_POST['_legacy_support'] ) ) { // The old (inline) uploader. Only needs the attachment_id. $response = array( 'id' => $attachment_id ); } else { // Media modal and Media Library grid view. $response = wp_prepare_attachment_for_js( $attachment_id ); if ( ! $response ) { wp_send_json_error( array( 'message' => __( 'Upload failed.' ) ) ); } } // At this point the image has been uploaded successfully. wp_send_json_success( $response );}Changelog
Introduced in 5.3.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.1.0 tag, from
src/wp-admin/includes/ajax-actions.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.