wppaste
WordPress

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
Performs the post_type and taxonomy queries for loading available menu items.

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

Reaches the database via get_post().

Scaling
Scales with input

The body loops, so the work grows with what you pass in.

Instructions
17–140

Executed per call on PHP 8.5, depending on the branch taken. The body compiles to 317.

Plugin surface
1 hook

Third-party callbacks on 'customize_nav_menu_available_items' run inside this call, and their cost is not bounded by anything here.

Called by
1

1 place in core call this, so the cost is paid more often than your own code shows.

What it touches

  • optionoption read or writeget_option()called directly
  • querycontent queryget_post()called directly
  • hookthird-party callbacksapply_filters()called directly
  • cacheobject cachewp_cache_get()one call below WP_Customize_Nav_Menus::load_available_items_query()
  • serializeserialisationmaybe_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.

WhenInstructionsCalls it makes
$object_type !== "post_type" && $object_type !== "taxonomy"17apply_filters()
$object_type !== "post_type" && $object_type === "taxonomy" && is_wp_error()29taxonomy(), is_wp_error()
$object_type !== "post_type" && $object_type === "taxonomy" && !is_wp_error()39–40taxonomy(), is_wp_error(), apply_filters()
$object_type === "post_type" && $page !== 050–59get_post_type_object(), get_posts(), array_merge(), apply_filters()
$object_type === "post_type" && $page === 0 && !->get_setting()55–64get_post_type_object(), ->get_setting(), get_posts(), array_merge(), apply_filters()
$object_type === "post_type" && $page === 0 && ->get_setting()63–73get_post_type_object(), ->get_setting(), ->get_setting(), ->value(), get_posts(), array_merge(), apply_filters()
$object_type === "post_type" && $object_name !== "post" && $post_type72–77get_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–82get_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–87get_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–91get_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–91get_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–91get_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–92get_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–102get_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–94get_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–95get_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–96get_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–96get_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–96get_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–106get_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–106get_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–107get_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–98get_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–98get_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–99get_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–100get_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–100get_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–109get_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–101get_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–100get_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–101get_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–110get_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–111get_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–111get_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–111get_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–102get_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–103get_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–103get_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–103get_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–104get_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–113get_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–105get_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–113get_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–105get_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–105get_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–105get_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–114get_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–115get_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–115get_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–116get_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–115get_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–116get_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–107get_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–107get_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–108get_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–107get_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–108get_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–117get_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–109get_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–118get_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–110get_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–109get_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–118get_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–118get_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–119get_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–120get_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–120get_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–120get_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–120get_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–111get_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–112get_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–112get_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–112get_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–112get_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–122get_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–114get_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–122get_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–114get_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–123get_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–122get_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–123get_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–124get_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–125get_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–124get_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–116get_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–117get_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–116get_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–126get_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–118get_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–127get_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–127get_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–127get_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–127get_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–129get_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–129get_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–121get_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–121get_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–131get_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–132get_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–131get_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–133get_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–125get_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–136get_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–136get_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–140get_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

PHPCompiledExecutedBranchesNotes
8.6-dev31717–14028
8.531717–14028
8.431717–140283 fewer instructions than PHP 8.3
8.332017–14028
8.232017–14028
8.132017–140282 fewer instructions than PHP 7.4
7.432217–14228

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:

  1. 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

Used by · 1

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.

  1. 6.7.7
  2. 6.8.8
  3. 6.9.7
  4. 7.0.4
  5. 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/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.