Supposons que les menus personnalisés soient activés avec votre thème WP. Existe-t-il une action associée à la sauvegarde d'un menu une fois que vous l'avez arrangé en conséquence? Pour clarifier davantage: disons que vous avez organisé un menu avec des liens et des publications, comment pouvez-vous obtenir les titres des publications dans ledit menu lors de la sauvegarde (en cliquant sur le bouton "Enregistrer le menu")?
Au moins en 3.4.1, il existe une action pour cela: wp_update_nav_menu
Voir here .
Ensuite, vous pouvez obtenir les éléments dans votre menu avec quelque chose comme:
add_action('wp_update_nav_menu', 'my_get_menu_items');
function my_get_menu_items($nav_menu_selected_id) {
$items = wp_get_nav_menu_items($nav_menu_selected_id);
}
Il n'y a pas d'action dédiée à vos besoins, mais vous pouvez utiliser le hook 'check_admin_referer'
à mauvais escient. Voir le bloc switch ( $action )
dans wp-admin/nav-menus.php
pour plus de détails et d’autres options.
Exemple de code pour un début:
add_action( 'check_admin_referer', 'check_nav_menu_updates', 11, 1 );
function check_nav_menu_updates( $action )
{
if ( ( 'update-nav_menu' != $action ) or ! isset( $_POST['menu-locations'] ) )
{
return;
}
$nav_locations = $_POST['menu-locations'];
$nav_title = $_POST['menu-name'];
// do something awesome with it.
}