register_block_core_navigation_link

The timeline below displays how wordpress function register_block_core_navigation_link has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.5

/**
 * Registers the navigation link block.
 *
 * @uses render_block_core_navigation_link()
 * @throws WP_Error An WP_Error exception parsing the block definition.
 */
function register_block_core_navigation_link()
{
    register_block_type_from_metadata(__DIR__ . '/navigation-link', array('render_callback' => 'render_block_core_navigation_link'));
}

WordPress Version: 5.9

/**
 * Register the navigation link block.
 *
 * @uses render_block_core_navigation()
 * @throws WP_Error An WP_Error exception parsing the block definition.
 */
function register_block_core_navigation_link()
{
    $post_types = get_post_types(array('show_in_nav_menus' => true), 'objects');
    $taxonomies = get_taxonomies(array('show_in_nav_menus' => true), 'objects');
    // Use two separate arrays as a way to order the variations in the UI.
    // Known variations (like Post Link and Page Link) are added to the
    // `built_ins` array. Variations for custom post types and taxonomies are
    // added to the `variations` array and will always appear after `built-ins.
    $built_ins = array();
    $variations = array();
    if ($post_types) {
        foreach ($post_types as $post_type) {
            $variation = build_variation_for_navigation_link($post_type, 'post-type');
            if ($post_type->_builtin) {
                $built_ins[] = $variation;
            } else {
                $variations[] = $variation;
            }
        }
    }
    if ($taxonomies) {
        foreach ($taxonomies as $taxonomy) {
            $variation = build_variation_for_navigation_link($taxonomy, 'taxonomy');
            if ($taxonomy->_builtin) {
                $built_ins[] = $variation;
            } else {
                $variations[] = $variation;
            }
        }
    }
    register_block_type_from_metadata(__DIR__ . '/navigation-link', array('render_callback' => 'render_block_core_navigation_link', 'variations' => array_merge($built_ins, $variations)));
}