Próbuję uzyskać wszystkie identyfikatory w mojej nawigacji i przekonwertować je na ciąg znaków, aby móc go używać wp_query
do uzyskiwania stron wymienionych tylko w nawigacji. Kod, aby uzyskać identyfikatory:
$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);
Ale zwraca nieprawidłowe liczby. Kiedy przechodzę do obszaru administracyjnego i najeżdżam kursorem myszy na strony, liczba wyświetlana w pasku adresu u dołu ekranu jest niezgodna. Co ja robię źle?
$numbers[] = $menu_item->ID;
tą w mojej odpowiedzi.Nie byłbym w stanie powiedzieć, kiedy nastąpiła ta zmiana, ale od wersji 5.2.4 WordPressa możesz użyć
object
iobject_id
pobrać identyfikator strony. Oto jak bym to zrobił:źródło