¿Hay alguna forma de codificar los elementos del menú personalizado cuando se instala el primer tema? Estoy creando un tema que creará automáticamente algunas páginas comunes cuando esté instalado. ¿Entonces necesito saber si también puedo agregarlos al menú personalizado de Wordpress para que el cliente no necesite agregarlos manualmente?
En otras palabras: ¿cómo insertar / crear un elemento de menú personalizado mediante programación?
Avísame si algo no está claro. Guía de la página del códice correspondiente es bienvenida. ¡Gracias!
actualización: código probado desde aquí Orientación del menú específico con wp_nav_menu_items
Registro de menú:
function register_my_menus() {
register_nav_menus(
array('main-menu' => __( 'Main Menu' ) )
);
}
add_action( 'init', 'register_my_menus' );
Uso de plantilla:
<?php wp_nav_menu( array( 'theme_location' => 'main-menu' ) ); ?>
Código para agregar nuevos elementos:
function new_nav_menu_items($items) {
if( $args->theme_location == 'main-menu' ){
$homelink = '<li class="home"><a href="' . home_url( '/' ) . '">' . __('Home') . '</a></li>';
$items = $homelink . $items;
return $items;
}
}
add_filter( 'wp_nav_menu_items', 'new_nav_menu_items', 10, 2 );
Al agregar el código para agregar nuevos elementos en el menú de navegación en el functions.php
archivo, nada sucede en la página del menú en el panel de administración, pero los elementos del menú actual se han ido al sitio.