Estou tentando obter todos os IDs na minha navegação e convertê-lo em uma string para que eu possa usá-lo wp_query
para obter as páginas listadas apenas na navegação. O código para obter os IDs:
$menu_name = 'primary';
if ( ( $locations = get_nav_menu_locations() ) && isset( $locations[ $menu_name ] )) {
$menu = wp_get_nav_menu_object( $locations[ $menu_name ] );
$menu_items = wp_get_nav_menu_items($menu->term_id);
}
foreach ( $menu_items as $menu_item ) {
$numbers[] = $menu_item->ID;
}
$number = implode(',',$numbers);
Mas está retornando os números errados. Quando vou à área administrativa e passo o mouse sobre as páginas, o número que aparece na barra de endereços na parte inferior da tela não corresponde. O que estou fazendo de errado?
$numbers[] = $menu_item->ID;
com a da minha resposta.Eu não seria capaz de dizer quando essa alteração ocorreu, mas a partir da versão 5.2.4 do WordPress, você pode usar
object
eobject_id
recuperar o ID da página. Aqui está como eu faria isso:fonte