Posso aggiungere pagine al mio menu personalizzato tramite script?
Il mio tema ha un'assegnazione di menu personalizzato...
function my_register_my_menus() {
register_nav_menus(
array('header-menu' => __( 'Menu Intestazione Personalizzato' ) )
);
}
...e sto creando un plugin di tipo "installer" che, all'attivazione, vorrei collegasse a questo menu personalizzato e assegnasse alcune pagine come se fossero state create manualmente.
Tuttavia, l'API dei menu è piuttosto nuova e finora non sono riuscito a trovare esempi su come fare questo.
Spero che qualcuno qui possa darmi qualche indicazione, esempio o informazione su come farlo.
Grazie in anticipo :-)

Puoi utilizzare l'hook wp_nav_menu_{$menu->slug}_items
e aggiungere il tuo link con una funzione di callback, ad esempio se lo slug del tuo menu è header-menu
allora qualcosa come questo:
add_filter('wp_nav_menu_header-menu_items', 'add_my_extra_links',10,2);
function add_my_extra_links($items, $args) {
$newitems = '<li><a title="Link di Test" href="http://google.com">Google</a></li>';
$newitems .= '<li><a title="Link di Test" href="http://yahoo.com">Yahoo</a></li>';
$newitems .= '<li><a title="Link di Test" href="http://bing.com">Bing</a></li>';
$newitems .= $items;
return $newitems;
}
Aggiornamento
Suppongo che dovresti chiamare wp_save_nav_menu_items che è la funzione utilizzata per salvare gli elementi del menu nel database.

Non so dirti quanto apprezzi vedere QUALSIASI segno di vita su questa domanda. Una cosa però, dato che si tratta di un filtro, non sono sicuro che sia quello che cerco. Ho bisogno di poter creare un menu tramite script una sola volta, durante l'attivazione del plugin, in modo che sia esattamente come se l'avessi creato manualmente sul sito, e che persista senza un filtro runtime. Ha senso?

Ho aggiornato la mia domanda per chiarire un po'. Vedo che non era chiaro l'aspetto del fatto che tutto questo venga fatto durante l'attivazione del plugin (una volta e basta).

@Scott: ho aggiornato brevemente la mia risposta perché è molto tardi qui e sono mezzo addormentato, ma dovrebbe darti un'indicazione.
