web-dev-qa-db-fra.com

Comment obtenir le nom du message (slug) à partir de l'ID lors du parcours dans la barre de navigation?

Je travaille sur un filtre pour les éléments de menu de navigation, tels que

add_filter('wp_get_nav_menu_items','nav_items', 11, 3);
function nav_items($items, $menu, $args) {
    foreach ($items as $item) {
        $slug_1 = get_post_field('post_name', $item->ID);
        $slug_2 = $item->post_name;
        // ...
    }
    return $items;
}

Mais ni $slug_1 ni $slug_2 ne renvoient le slug correct.

Quelle est la bonne façon d’associer le slug à un élément de la barre de navigation?

1
cbuchart

Peut-être dupliqué, mais je n'ai pas pu trouver la réponse. $item->object_id stocke l'ID de message réel:

$slug = get_post_field('post_name', $item->object_id);
2
cbuchart