Configuración automática de un menú en la ubicación ‘menú principal’ en la activación del tema

1 minuto de lectura

avatar de usuario
Thovex

Actualmente estoy haciendo este menú: (Functions.php)

$menuname="Top Menu";
$menu_exists = wp_get_nav_menu_object( $menuname );

if( !$menu_exists){
$menu_id = wp_create_nav_menu($menuname);

wp_update_nav_menu_item($menu_id, 0, array(
    'menu-item-title' =>  __('Programme'),
    'menu-item-classes' => 'programme',
    'menu-item-url' => home_url( '/programme/' ), 
    'menu-item-status' => 'publish'));

wp_update_nav_menu_item($menu_id, 0, array(
    'menu-item-title' =>  __('Speakers'),
    'menu-item-classes' => 'speakers',
    'menu-item-url' => home_url( '/speakers/' ), 
    'menu-item-status' => 'publish'));
}

Cuando activo mi tema, lo que busco hacer es:
Activando
(fuente: cubeupload.com)

Seleccionando el cuadro ‘Menú principal’ automáticamente, así que cuando inicio este tema, creo un menú y lo convierto en el menú principal.

¿Cómo se hace esto?

Puede configurar el theme_location del menú programáticamente con:

$locations = get_theme_mod('nav_menu_locations');
$locations['primary-menu'] = $term_id_of_menu;
set_theme_mod( 'nav_menu_locations', $locations );

Agrega esto a tu functions.php.

¿Ha sido útil esta solución?