wp_admin_bar_edit_menu( WP_Admin_Bar $wp_admin_bar )
- Since
- 3.1.0, 5.5.0
- Source
wp-includes/admin-bar.php:807
Compatibility
- WordPress
- since 5.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
$wp_admin_barWP_Admin_Bar- The WP_Admin_Bar instance.
Performance profile
How much work a call to wp_admin_bar_edit_menu() 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
- 14–110
- 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 307.
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 - optionoption read or write
get_option()called directly - hookthird-party callbacks
apply_filters()one call below wp_admin_bar_edit_menu() - cacheobject cache
wp_cache_get()one call below wp_admin_bar_edit_menu() - serializeserialisation
maybe_unserialize()one call below wp_admin_bar_edit_menu()
Further down the call graph this can also reach transient. That is the worst case, several calls deep and usually down an error path, not what a normal call pays.
What one call costs · 118 distinct outcomes
One number would be a lie: the work depends on which branch runs. These are every distinct cost wp_admin_bar_edit_menu() can have, taken from its control-flow graph on PHP 8.5.
| When | Instructions | Calls it makes |
|---|---|---|
!is_admin() && empty($current_object) | 14–20 | is_admin(), ->get_queried_object() |
!is_admin() && $current_object instanceof && !current_user_can() | 27 | is_admin(), ->get_queried_object(), current_user_can() |
!is_admin() && !empty($current_object) | 29–30 | is_admin(), ->get_queried_object(), get_post_type_object(), get_edit_post_link() |
!is_admin() && $current_object instanceof && current_user_can() | 34 | is_admin(), ->get_queried_object(), current_user_can(), get_edit_user_link() |
!is_admin() | 34–35 | is_admin(), ->get_queried_object(), get_taxonomy(), get_edit_term_link() |
!is_admin() && !empty($current_object) | 37–39 | is_admin(), ->get_queried_object(), get_post_type_object(), get_edit_post_link(), current_user_can() |
is_admin() | 40–56 | is_admin(), get_current_screen(), get_post() |
!is_admin() && !current_user_can() | 42 | is_admin(), ->get_queried_object(), get_taxonomy(), get_edit_term_link(), current_user_can() |
!is_admin() && $current_object instanceof && current_user_can() | 43 | is_admin(), ->get_queried_object(), current_user_can(), get_edit_user_link(), __(), edit() |
is_admin() | 46–61 | is_admin(), get_current_screen(), get_post(), get_post() |
!is_admin() && !empty($current_object) && current_user_can() && $post_type_object | 47 | is_admin(), ->get_queried_object(), get_post_type_object(), get_edit_post_link(), current_user_can(), edit() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() | 48–60 | is_admin(), get_current_screen(), get_post(), is_wp_error() |
106 further outcomes, up to 110 instructions
is_admin() | 48–67 | is_admin(), get_current_screen(), get_post(), current_user_can() |
!is_admin() && current_user_can() | 50 | is_admin(), ->get_queried_object(), get_taxonomy(), get_edit_term_link(), current_user_can(), edit() |
is_admin() && $post_type_object && !get_post_type_archive_link() | 51–62 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() | 54–65 | is_admin(), get_current_screen(), get_post(), get_post(), is_wp_error() |
is_admin() | 54–69 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can() |
is_admin() && isset($user_id) | 55–70 | is_admin(), get_current_screen(), get_post(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 55–65 | is_admin(), get_current_screen(), get_post(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() | 56–71 | is_admin(), get_current_screen(), get_post(), current_user_can(), is_wp_error() |
is_admin() && $post_type_object && !get_post_type_archive_link() | 57–66 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() | 59–66 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), is_wp_error() |
is_admin() && $post_type_object && get_post_type_archive_link() | 59–70 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_option() |
is_admin() && $post_type_object && !get_post_type_archive_link() | 59–73 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link() |
is_admin() && current_user_can() && $post_type_object | 59–63 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_permalink(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() | 61–66 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_post_type_archive_link(), archive() |
is_admin() && isset($user_id) | 61–75 | is_admin(), get_current_screen(), get_post(), get_post(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 61–70 | is_admin(), get_current_screen(), get_post(), get_post(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() | 62–73 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), is_wp_error() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 63–74 | is_admin(), get_current_screen(), get_post(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && isset($user_id) | 63–81 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 63–76 | is_admin(), get_current_screen(), get_post(), current_user_can(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() | 65–70 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), is_wp_error() |
is_admin() && $post_type_object && get_post_type_archive_link() | 65–74 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_option() |
is_admin() && $post_type_object && !get_post_type_archive_link() | 65–75 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link() |
is_admin() && current_user_can() && $post_type_object | 65–69 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_preview_post_link(), esc_url(), target() |
is_admin() && current_user_can() && $post_type_object | 65 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_permalink(), view() |
is_admin() && isset($user_id) && ->exists() | 65–79 | is_admin(), get_current_screen(), get_post(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($user_id) | 66–76 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 66–71 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && $post_type_object && get_post_type_archive_link() | 66–71 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_option(), get_post_type_archive_link(), archive() |
is_admin() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 66–76 | is_admin(), get_current_screen(), get_post(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() | 67–74 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() | 67–77 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error() |
is_admin() && $post_type_object && get_post_type_archive_link() | 67–81 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_option() |
is_admin() && $post_type_object && get_post_type_archive_link() | 67–70 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_post_type_archive_link(), archive() |
is_admin() && $post_type_object && get_post_type_archive_link() | 69–77 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_post_type_archive_link(), archive() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 69–79 | is_admin(), get_current_screen(), get_post(), get_post(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && isset($user_id) | 69–83 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 69–78 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 71–85 | is_admin(), get_current_screen(), get_post(), current_user_can(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && current_user_can() && $post_type_object | 71 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_preview_post_link(), esc_url(), target() |
is_admin() && isset($user_id) && ->exists() | 71–84 | is_admin(), get_current_screen(), get_post(), get_post(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($user_id) | 72–80 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 72–75 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && $post_type_object && get_post_type_archive_link() | 72–75 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_option(), get_post_type_archive_link(), archive() |
is_admin() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 72–81 | is_admin(), get_current_screen(), get_post(), get_post(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() | 73–78 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() | 73–79 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error() |
is_admin() && $post_type_object && get_post_type_archive_link() | 73–83 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_option() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 73–83 | is_admin(), get_current_screen(), get_post(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && isset($user_id) && ->exists() | 73–90 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 74–80 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($user_id) | 74–84 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_option(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 74–79 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($user_id) | 74–87 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 74–82 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && $post_type_object && get_post_type_archive_link() | 74–82 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), get_post_type_archive_link(), archive() |
is_admin() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 74–87 | is_admin(), get_current_screen(), get_post(), current_user_can(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() | 75–85 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error() |
is_admin() && $post_type_object && get_post_type_archive_link() | 75–79 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_post_type_archive_link(), archive() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($user_id) && ->exists() | 76–85 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 77–82 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 77–87 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 79–88 | is_admin(), get_current_screen(), get_post(), get_post(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && isset($user_id) && ->exists() | 79–92 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 80–84 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($user_id) | 80–88 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_option(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 80–83 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($user_id) | 80–89 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 80–84 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && $post_type_object && get_post_type_archive_link() | 80–84 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), get_post_type_archive_link(), archive() |
is_admin() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 80–89 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() | 81–87 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 81–94 | is_admin(), get_current_screen(), get_post(), current_user_can(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 82–88 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 82–91 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($user_id) | 82–95 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 82–90 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($user_id) && ->exists() | 82–89 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 83–86 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 84–89 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($user_id) && ->exists() | 84–93 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_option(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($user_id) && ->exists() | 84–96 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 85–90 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 85–93 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 87–96 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 88–92 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 88–93 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($user_id) | 88–97 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && !is_term_publicly_viewable() | 88–92 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 90–99 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 90–93 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($user_id) && ->exists() | 90–97 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_option(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($user_id) && ->exists() | 90–98 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 91–94 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 91–95 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 92–97 | is_admin(), get_current_screen(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 92–100 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($user_id) && ->exists() | 92–104 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 93–101 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) | 96–101 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 98–101 | is_admin(), get_current_screen(), get_post(), get_post(), get_post_type_archive_link(), get_option(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && !get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 98–102 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($user_id) && ->exists() | 98–106 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && !is_wp_error() && is_term_publicly_viewable() | 99–103 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error(), get_taxonomy(), is_term_publicly_viewable(), get_term_link(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 100–108 | is_admin(), get_current_screen(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
is_admin() && $post_type_object && get_post_type_archive_link() && isset($tag) && is_object($tag) && is_wp_error() && isset($user_id) && ->exists() | 106–110 | is_admin(), get_current_screen(), get_post(), get_post(), current_user_can(), get_post_type_archive_link(), get_option(), is_wp_error(), get_userdata(), get_author_posts_url(), ->exists(), __(), view() |
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
Compiles the same on PHP 7.4, 8.1, 8.2, 8.3, 8.4, 8.5 and 8.6-dev: 307 instructions, 14–110 executed per call, 43 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 · 20
- is_admin()Determines whether the current request is for an administrative interface page.
- get_current_screen()Get the current screen object
- get_post()Retrieves post data given a post ID or post object.
- get_post_type_object()Retrieves a post type object by name.
- current_user_can()Returns whether the current user has the specified capability.
- get_preview_post_link()Retrieves the URL used for the post preview.
- esc_url()Checks and cleans a URL.
- get_permalink()Retrieves the full permalink for the current post or post ID.
- get_post_type_archive_link()Retrieves the permalink for a post type archive.
- get_option()Retrieves an option value based on an option name.
- is_wp_error()Checks whether the given variable is a WordPress Error.
- get_taxonomy()Retrieves the taxonomy object of $taxonomy.
Show all 20
- is_term_publicly_viewable()Determines whether a term is publicly viewable.
- get_term_link()Generates a permalink for a taxonomy term archive.
- get_userdata()Retrieves user info by user ID.
- get_author_posts_url()Retrieves the URL to the author page for the user with the ID provided.
- __()Retrieves the translation of $text.
- get_edit_post_link()Retrieves the edit post link for post.
- get_edit_term_link()Retrieves the URL for editing a given term.
- get_edit_user_link()Retrieves the edit user link.
Source code
function wp_admin_bar_edit_menu( $wp_admin_bar ) { global $tag, $wp_the_query, $user_id, $post_id; if ( is_admin() ) { $current_screen = get_current_screen(); $post = get_post(); $post_type_object = null; if ( 'post' === $current_screen->base ) { $post_type_object = get_post_type_object( $post->post_type ); } elseif ( 'edit' === $current_screen->base ) { $post_type_object = get_post_type_object( $current_screen->post_type ); } elseif ( 'edit-comments' === $current_screen->base && $post_id ) { $post = get_post( $post_id ); if ( $post ) { $post_type_object = get_post_type_object( $post->post_type ); } } if ( ( 'post' === $current_screen->base || 'edit-comments' === $current_screen->base ) && 'add' !== $current_screen->action && ( $post_type_object ) && current_user_can( 'read_post', $post->ID ) && ( $post_type_object->public ) && ( $post_type_object->show_in_admin_bar ) ) { if ( 'draft' === $post->post_status ) { $preview_link = get_preview_post_link( $post ); $wp_admin_bar->add_node( array( 'id' => 'preview', 'title' => $post_type_object->labels->view_item, 'href' => esc_url( $preview_link ), 'meta' => array( 'target' => 'wp-preview-' . $post->ID ), ) ); } else { $wp_admin_bar->add_node( array( 'id' => 'view', 'title' => $post_type_object->labels->view_item, 'href' => get_permalink( $post->ID ), ) ); } } elseif ( 'edit' === $current_screen->base && ( $post_type_object ) && ( $post_type_object->public ) && ( $post_type_object->show_in_admin_bar ) && ( get_post_type_archive_link( $post_type_object->name ) ) && ! ( 'post' === $post_type_object->name && 'posts' === get_option( 'show_on_front' ) ) ) { $wp_admin_bar->add_node( array( 'id' => 'archive', 'title' => $post_type_object->labels->view_items, 'href' => get_post_type_archive_link( $current_screen->post_type ), ) ); } elseif ( 'term' === $current_screen->base && isset( $tag ) && is_object( $tag ) && ! is_wp_error( $tag ) ) { $tax = get_taxonomy( $tag->taxonomy ); if ( is_term_publicly_viewable( $tag ) ) { $wp_admin_bar->add_node( array( 'id' => 'view', 'title' => $tax->labels->view_item, 'href' => get_term_link( $tag ), ) ); } } elseif ( 'user-edit' === $current_screen->base && isset( $user_id ) ) { $user_object = get_userdata( $user_id ); $view_link = get_author_posts_url( $user_object->ID ); if ( $user_object->exists() && $view_link ) { $wp_admin_bar->add_node( array( 'id' => 'view', 'title' => __( 'View User' ), 'href' => $view_link, ) ); }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 6.9.7 tag, from
src/wp-includes/admin-bar.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.