wp_ajax_save_widget()
- Since
- 3.1.0
- Source
wp-admin/includes/ajax-actions.php:2381
Compatibility
- WordPress
- since 3.1.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_save_widget() 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
- Scales with input
- Instructions
- 86–163
- Plugin surface
- 4 hooks
- Called by
- 0
Reads stored settings via get_option(), cached per request but not free on a cold cache.
The body loops, so the work grows with how much data it finds.
Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 192.
Third-party callbacks on 'load-widgets.php', 'widgets.php', 'sidebar_admin_setup' run inside this call, and their cost is not bounded by anything here.
Nothing in core calls this; the cost is only what you spend yourself.
What it touches
- hookthird-party callbacks
do_action()called directly - optionoption read or write
get_option()one call below wp_ajax_save_widget()
Further down the call graph this can also reach cache, serialize, query and transient. Those are the worst case, several calls deep and usually down an error path, not what a normal call pays.
What one call costs · 96 distinct outcomes
One number would be a lie: the work depends on which branch runs. These are every distinct cost wp_ajax_save_widget() can have, taken from its control-flow graph on PHP 8.5.
| When | Instructions | Calls it makes |
|---|---|---|
!current_user_can() && empty($value) && !$wp_registered_widget_controls | 86–104 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die() |
!current_user_can() && !empty($value) && !$wp_registered_widget_controls | 88–106 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_controls | 91–109 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die() |
!current_user_can() && empty($value) && $wp_registered_widget_controls | 92–110 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), call_user_func_array(), wp_die() |
!current_user_can() && !empty($value) && !$wp_registered_widget_controls | 93–111 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), wp_die() |
!current_user_can() && !empty($value) && $wp_registered_widget_controls | 94–112 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && $wp_registered_widget_controls | 97–115 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !$wp_registered_widget_controls | 98–113 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && !empty($value) && $wp_registered_widget_controls | 99–117 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && !empty($value) && !$wp_registered_widget_controls | 100–115 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !$wp_registered_widget_controls | 103–118 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && $wp_registered_widget_controls | 104–119 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
84 further outcomes, up to 163 instructions
!current_user_can() && empty($value) && !$wp_registered_widget_controls | 105–123 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && !$wp_registered_widget_controls | 105–122 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die() |
!current_user_can() && isset($value) && !empty($value) && !$wp_registered_widget_controls | 105–120 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && isset($value) && !empty($value) && $wp_registered_widget_controls | 106–121 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && !empty($value) && !$wp_registered_widget_controls | 107–125 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), wp_die(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && !$wp_registered_widget_controls | 107–124 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_controls | 108–126 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), wp_die() |
!current_user_can() && empty($value) && isset($value) && $wp_registered_widget_controls | 109–124 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_controls | 110–125 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), wp_die() |
!current_user_can() && !empty($value) && !$wp_registered_widget_controls | 110–128 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), wp_die(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && !$wp_registered_widget_controls | 110–127 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die() |
!current_user_can() && empty($value) && $wp_registered_widget_controls | 111–129 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && $wp_registered_widget_controls | 111–128 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && !empty($value) && $wp_registered_widget_controls | 111–126 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && isset($wp_registered_widgets[$widget_id]) && !empty($value) && !$wp_registered_widget_controls | 112–127 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), wp_die(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && !$wp_registered_widget_controls | 112–129 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_controls | 113–128 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), wp_die() |
!current_user_can() && !empty($value) && $wp_registered_widget_controls | 113–131 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && $wp_registered_widget_controls | 113–130 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && $wp_registered_widget_controls | 114–132 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !empty($value) && !$wp_registered_widget_controls | 115–130 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && isset($wp_registered_widgets[$widget_id]) && $wp_registered_widget_controls | 116–131 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), call_user_func_array(), wp_die() |
!current_user_can() && !empty($value) && $wp_registered_widget_controls | 116–134 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && $wp_registered_widget_controls | 116–133 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !$wp_registered_widget_controls | 117–132 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !$wp_registered_widget_controls | 117–131 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && isset($value) && isset($wp_registered_widgets[$widget_id]) && !empty($value) && $wp_registered_widget_controls | 118–133 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && $wp_registered_widget_controls | 118–135 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !isset($wp_registered_widgets[$widget_id]) && $wp_registered_widget_controls | 119–134 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && !empty($value) && !$wp_registered_widget_controls | 119–134 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !empty($value) && !$wp_registered_widget_controls | 119–133 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !$wp_registered_widget_controls | 120–135 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !empty($value) && $wp_registered_widget_controls | 121–136 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_controls | 122–134 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && isset($value) && !empty($value) && !$wp_registered_widget_controls | 122–137 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !$wp_registered_widget_controls | 122–136 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && $wp_registered_widget_controls | 123–138 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && $wp_registered_widget_controls | 123–137 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && isset($wp_registered_widgets[$widget_id]) && !empty($value) && !$wp_registered_widget_controls | 124–136 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && !$wp_registered_widget_controls | 124–141 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !empty($value) && !$wp_registered_widget_controls | 124–138 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_controls | 125–137 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && isset($value) && !empty($value) && $wp_registered_widget_controls | 125–140 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !empty($value) && $wp_registered_widget_controls | 125–139 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && $wp_registered_widget_controls | 126–141 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && !$wp_registered_widget_controls | 126–143 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), wp_die() |
!current_user_can() && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !empty($value) && !$wp_registered_widget_controls | 127–139 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && !$wp_registered_widget_controls | 127–144 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die() |
!current_user_can() && empty($value) && isset($value) && isset($wp_registered_widgets[$widget_id]) && $wp_registered_widget_controls | 128–140 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && !empty($value) && $wp_registered_widget_controls | 128–143 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && $wp_registered_widget_controls | 128–142 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !$wp_registered_widget_controls | 129–143 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && !$wp_registered_widget_controls | 129–146 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), wp_die() |
!current_user_can() && isset($value) && isset($wp_registered_widgets[$widget_id]) && !empty($value) && $wp_registered_widget_controls | 130–142 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && $wp_registered_widget_controls | 130–147 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), call_user_func_array(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !empty($value) && $wp_registered_widget_controls | 130–144 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !isset($wp_registered_widgets[$widget_id]) && $wp_registered_widget_controls | 131–143 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && !$wp_registered_widget_controls | 131–145 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !$wp_registered_widget_controls | 132–146 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && $wp_registered_widget_controls | 132–149 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !empty($value) && $wp_registered_widget_controls | 133–145 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && $wp_registered_widget_controls | 133–150 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && !$wp_registered_widget_controls | 134–148 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && $wp_registered_widget_controls | 135–149 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), call_user_func_array(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && $wp_registered_widget_controls | 135–152 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !$wp_registered_widget_controls | 136–150 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && $wp_registered_widget_controls | 137–151 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && $wp_registered_widget_controls | 138–152 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), call_user_func_array(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !empty($value) && !$wp_registered_widget_controls | 138–152 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !$wp_registered_widget_controls | 139–153 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && $wp_registered_widget_controls | 140–154 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !$wp_registered_widget_controls | 141–152 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !empty($value) && !$wp_registered_widget_controls | 141–155 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && $wp_registered_widget_controls | 142–156 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && !$wp_registered_widget_controls | 143–154 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !$wp_registered_widget_controls | 144–155 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !empty($value) && $wp_registered_widget_controls | 144–158 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && $wp_registered_widget_controls | 145–159 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && !$wp_registered_widget_controls | 146–157 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), wp_die() |
!current_user_can() && empty($value) && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && $wp_registered_widget_controls | 147–158 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && !$wp_registered_widget_updates && $name === false && is_callable() && isset($value) && !empty($value) && $wp_registered_widget_controls | 147–161 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), key(), wp_die(), reset(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && $wp_registered_widget_controls | 149–160 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && empty($value) && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && $wp_registered_widget_controls | 150–161 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), call_user_func_array(), wp_die() |
!current_user_can() && isset($value) && !isset($wp_registered_widgets[$widget_id]) && !$wp_registered_widget_updates && $name === false && is_callable() && !empty($value) && $wp_registered_widget_controls | 152–163 | check_ajax_referer(), current_user_can(), wp_die(), do_action(), do_action(), do_action(), wp_unslash(), wp_unslash(), __(), wp_get_sidebars_widgets(), wp_die(), do_action(), is_callable(), ob_start(), call_user_func_array(), ob_end_clean(), wp_set_sidebars_widgets(), wp_die(), wp_die(), call_user_func_array(), wp_die() |
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 | 192 | 86–163 | 20 | |
| 8.5 | 192 | 86–163 | 20 | |
| 8.4 | 192 | 86–163 | 20 | 3 fewer instructions than PHP 8.3 |
| 8.3 | 195 | 86–164 | 20 | |
| 8.2 | 195 | 86–164 | 20 | |
| 8.1 | 195 | 86–164 | 20 | |
| 7.4 | 195 | 86–164 | 20 |
An instruction is not a fixed amount of time, so a matching count is not necessarily the same speed; what it rules out is a difference in the work itself.
Hooks and filters fired · 4
4 hooks fire while wp_ajax_save_widget() runs, in this order:
- do_action( load-widgets.php )actionline 2397 (+16 into the body)
Fires early when editing the widgets displayed in sidebars.
- do_action( widgets.php )actionline 2404 (+23 into the body)
Fires early when editing the widgets displayed in sidebars.
- do_action( sidebar_admin_setup )actionline 2407 (+26 into the body)
Fires early before the Widgets administration screen loads, after scripts are enqueued.
- do_action( delete_widget )actionline 2435 (+54 into the body)
Fires immediately after a widget has been marked for deletion.
Uses · 8
- 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_die()Kills WordPress execution and displays HTML page with an error message.
- do_action()Calls the callback functions that have been added to an action hook.
- wp_unslash()Removes slashes from a string or recursively removes slashes from strings within an array.
- __()Retrieves the translation of $text.
- wp_get_sidebars_widgets()Retrieves the full list of sidebars and their widget instance IDs.
- wp_set_sidebars_widgets()Sets the sidebar widget option to update sidebars.
Changelog
Introduced in 3.1.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.