WP_Customize_Nav_Menus::load_available_items_query( string $object_type = 'post_type', string $object_name = 'page', int $page = 0 ): array|WP_Error
- Since
- 4.3.0
- Source
wp-includes/class-wp-customize-nav-menus.php:141
Compatibility
- WordPress
- since 4.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.
Parameters
$object_typestringoptional- Accepts any custom object type and has built-in support for 'post_type' and 'taxonomy'. Default is 'post_type'.Default:
'post_type' $object_namestringoptional- Accepts any registered taxonomy or post type name. Default is 'page'.Default:
'page' $pageintoptional- The page number used to generate the query offset. Default is '0'.Default:
0
Return value
array|WP_Error- An array of menu items on success, a WP_Error object on failure.
Performance profile
How much work a call to WP_Customize_Nav_Menus::load_available_items_query() 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
- 17–140
- Plugin surface
- 1 hook
- Called by
- 1
Reaches the database via get_post().
The body loops, so the work grows with what you pass in.
Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 317.
Third-party callbacks on 'customize_nav_menu_available_items' run inside this call, and their cost is not bounded by anything here.
1 place in core call this, so the cost is paid more often than your own code shows.
What it touches
- optionoption read or write
get_option()called directly - querycontent query
get_post()called directly - hookthird-party callbacks
apply_filters()called directly - cacheobject cache
wp_cache_get()one call below WP_Customize_Nav_Menus::load_available_items_query() - serializeserialisation
maybe_unserialize()one call below WP_Customize_Nav_Menus::load_available_items_query()
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 · 105 distinct outcomes
One number would be a lie: the work depends on which branch runs. These are every distinct cost WP_Customize_Nav_Menus::load_available_items_query() can have, taken from its control-flow graph on PHP 8.5.
| When | Instructions | Calls it makes |
|---|---|---|
$object_type !== "post_type" && $object_type !== "taxonomy" | 17 | apply_filters() |
$object_type !== "post_type" && $object_type === "taxonomy" && is_wp_error() | 29 | taxonomy(), is_wp_error() |
$object_type !== "post_type" && $object_type === "taxonomy" && !is_wp_error() | 39–40 | taxonomy(), is_wp_error(), apply_filters() |
$object_type === "post_type" && $page !== 0 | 50–59 | get_post_type_object(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && !->get_setting() | 55–64 | get_post_type_object(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && ->get_setting() | 63–73 | get_post_type_object(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name !== "post" && $post_type | 72–77 | get_post_type_object(), __(), get_post_type_archive_link(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name !== "post" && $page === 0 && $post_type && !->get_setting() | 77–82 | get_post_type_object(), __(), get_post_type_archive_link(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) | 84–87 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name !== "post" && $page === 0 && $post_type && ->get_setting() | 85–91 | get_post_type_object(), __(), get_post_type_archive_link(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) | 88–91 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) | 88–91 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_posts(), array_merge(), apply_filters() |
93 further outcomes, up to 140 instructions
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 89–92 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) | 90–102 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) | 91–94 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) | 92–95 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) | 93–96 | get_post_type_object(), get_option(), get_post(), get_option(), get_post(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 93–96 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 93–96 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) | 94–106 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) | 94–106 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 95–107 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) | 95–98 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) | 95–98 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 96–99 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) | 97–100 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) | 97–100 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_post(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) | 97–109 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 97–101 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 97–100 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 98–101 | get_post_type_object(), get_option(), get_post(), get_option(), get_post(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) | 98–110 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) | 99–111 | get_post_type_object(), get_option(), get_post(), get_option(), get_post(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 99–111 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 99–111 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) | 99–102 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) | 100–103 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 100–103 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 100–103 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) | 101–104 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) | 101–113 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 101–105 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) | 101–113 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 101–105 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 102–105 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 102–105 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_post(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 102–114 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) | 103–115 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) | 103–115 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_post(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 103–116 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 103–115 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 104–116 | get_post_type_object(), get_option(), get_post(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) | 104–107 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) | 104–107 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 104–108 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 104–107 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 105–108 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) | 105–117 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 105–109 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) | 106–118 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 106–110 | get_post_type_object(), get_option(), get_post(), get_option(), get_post(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 106–109 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 106–118 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 106–118 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) | 107–119 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 107–120 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 107–120 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 108–120 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 108–120 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) | 108–111 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 108–112 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 108–112 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 109–112 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 109–112 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) | 110–122 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 110–114 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) | 110–122 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 110–114 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_post(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 110–123 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 110–122 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 111–123 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 111–124 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 112–125 | get_post_type_object(), get_option(), get_post(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 112–124 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 112–116 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 113–117 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && !->get_setting() | 113–116 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) | 114–126 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), get_post(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 114–118 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 114–127 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 114–127 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 115–127 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 115–127 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 116–129 | get_post_type_object(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 116–129 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 117–121 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 117–121 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 118–131 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 119–132 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && !->get_setting() | 119–131 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && !empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 120–133 | get_post_type_object(), get_option(), get_option(), get_post(), get_option(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && empty($privacy_policy_page_id) && ->get_setting() | 121–125 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 123–136 | get_post_type_object(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 123–136 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
$object_type === "post_type" && $page === 0 && $object_name === "page" && empty($front_page) && !empty($posts_page) && !empty($privacy_policy_page_id) && ->get_setting() | 127–140 | get_post_type_object(), get_option(), get_option(), _x(), __(), home_url(), get_option(), get_option(), get_post(), get_option(), get_post(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters() |
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 | 317 | 17–140 | 28 | |
| 8.5 | 317 | 17–140 | 28 | |
| 8.4 | 317 | 17–140 | 28 | 3 fewer instructions than PHP 8.3 |
| 8.3 | 320 | 17–140 | 28 | |
| 8.2 | 320 | 17–140 | 28 | |
| 8.1 | 320 | 17–140 | 28 | 2 fewer instructions than PHP 7.4 |
| 7.4 | 322 | 17–142 | 28 |
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 · 1
One hook fires while WP_Customize_Nav_Menus::load_available_items_query() runs, in this order:
- apply_filters( customize_nav_menu_available_items )filterline 307 (+166 into the body)
Filters the available menu items.
Uses · 17
- get_post_type_object()Retrieves a post type object by name.
- get_option()Retrieves an option value based on an option name.
- get_post()Retrieves post data given a post ID or post object.
- _x()Retrieves translated string with gettext context.
- __()Retrieves the translation of $text.
- home_url()Retrieves the URL for the current site where the front end is accessible.
- get_post_type_archive_link()Retrieves the permalink for a post type archive.
- get_posts()Retrieves an array of the latest posts, or posts matching the given criteria.
- get_post_states()Retrieves an array of post states from a post.
- get_bloginfo()Retrieves information about the current site.
- get_permalink()Retrieves the full permalink for the current post or post ID.
- get_terms()Retrieves the terms in a given taxonomy or list of taxonomies.
Show all 17
- is_wp_error()Checks whether the given variable is a WordPress Error.
- get_taxonomy()Retrieves the taxonomy object of $taxonomy.
- get_term_link()Generates a permalink for a taxonomy term archive.
- apply_filters()Calls the callback functions that have been added to a filter hook.
- WP_Error::__construct()Initializes the error.
Used by · 1
- WP_Customize_Nav_Menus::ajax_load_available_items()Ajax handler for loading available menu items.
Source code
public function load_available_items_query( $object_type = 'post_type', $object_name = 'page', $page = 0 ) { $items = array(); if ( 'post_type' === $object_type ) { $post_type = get_post_type_object( $object_name ); if ( ! $post_type ) { return new WP_Error( 'nav_menus_invalid_post_type' ); } /* * If we're dealing with pages, let's prioritize the Front Page, * Posts Page and Privacy Policy Page at the top of the list. */ $important_pages = array(); $suppress_page_ids = array(); if ( 0 === $page && 'page' === $object_name ) { // Insert Front Page or custom "Home" link. $front_page = 'page' === get_option( 'show_on_front' ) ? (int) get_option( 'page_on_front' ) : 0; if ( ! empty( $front_page ) ) { $front_page_obj = get_post( $front_page ); $important_pages[] = $front_page_obj; $suppress_page_ids[] = $front_page_obj->ID; } else { // Add "Home" link. Treat as a page, but switch to custom on add. $items[] = array( 'id' => 'home', 'title' => _x( 'Home', 'nav menu home label' ), 'type' => 'custom', 'type_label' => __( 'Custom Link' ), 'object' => '', 'url' => home_url(), ); } // Insert Posts Page. $posts_page = 'page' === get_option( 'show_on_front' ) ? (int) get_option( 'page_for_posts' ) : 0; if ( ! empty( $posts_page ) ) { $posts_page_obj = get_post( $posts_page ); $important_pages[] = $posts_page_obj; $suppress_page_ids[] = $posts_page_obj->ID; } // Insert Privacy Policy Page. $privacy_policy_page_id = (int) get_option( 'wp_page_for_privacy_policy' ); if ( ! empty( $privacy_policy_page_id ) ) { $privacy_policy_page = get_post( $privacy_policy_page_id ); if ( $privacy_policy_page instanceof WP_Post && 'publish' === $privacy_policy_page->post_status ) { $important_pages[] = $privacy_policy_page; $suppress_page_ids[] = $privacy_policy_page->ID; } } } elseif ( 'post' !== $object_name && 0 === $page && $post_type->has_archive ) { // Add a post type archive link. $title = $post_type->labels->archives; $items[] = array( 'id' => $object_name . '-archive', 'title' => $title, 'original_title' => $title, 'type' => 'post_type_archive', 'type_label' => __( 'Post Type Archive' ), 'object' => $object_name, 'url' => get_post_type_archive_link( $object_name ), ); } // Prepend posts with nav_menus_created_posts on first page. $posts = array(); if ( 0 === $page && $this->manager->get_setting( 'nav_menus_created_posts' ) ) { foreach ( $this->manager->get_setting( 'nav_menus_created_posts' )->value() as $post_id ) { $auto_draft_post = get_post( $post_id ); if ( $post_type->name === $auto_draft_post->post_type ) { $posts[] = $auto_draft_post; } } } $args = array( 'numberposts' => 10, 'offset' => 10 * $page, 'orderby' => 'date',Changelog
Introduced in 4.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.0.4 tag, from
src/wp-includes/class-wp-customize-nav-menus.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.