Intereting Posts
Получение настраиваемых полей с помощью $ wpdb-> get_results Пользовательский запрос базы данных для проверки данных Предоставление пользователям прав доступа к некоторым вкладкам плагина Категоризация результатов поиска на основе пользовательских полей Помощь Структурирование запроса для архивных страниц Перевести тему с PO-файлом Загружать изображения из медиабиблиотеки на компьютер в BULK? Автоматически создавать отсутствующие изображения Одна установка WP, мне нужно сопоставить пользовательское доменное имя для каждой категории как экслибрировать термины таксономий и количества, by post_types? каждый (термин custom_post_type) имеет ваше собственное количество Страница пользовательской таксономии возвращает 404 Проблемы с установленным файлом cookie Является ли WP-Cron / wp_schedule_event подходящим для трудоемких действий? Изменить разделитель метаданных и удалить на главной странице Доступ для администратора FQDN для многостраничного доступа WordPress

Индекс со ссылками и выдержками из подстраниц, отсортированных по заказу меню навигации

Я торопливо обыскал Интернет, но не нашел ничего, что близко. Надеюсь, я не наблюдал за «деревом в лесу».

Все, что я хочу, это создать индекс для страниц со всеми подстраницами, показывая их избранные изображения и выдержку и отсортировать их по порядку, указанному в самом меню навигации .

Я попробовал wp_list_pages и параметр menu_order, но это, похоже, не уважает порядок меню навигации, а только заказы по этому порядковому номеру, установленному на самой странице.

Я чувствую, что для этого я должен использовать индивидуальный ходунок, но понятия не имел, с чего начать. Кроме того, я даже не понимаю, почему упорядочение меню навигации не отражено в указанных функциях. Почему у вас двойные возможности сортировки? В навигационном меню уже есть сортировка, которую мы хотим! Я не вижу никакой пользы в номере заказа на экране редактирования страницы.

Буду признателен за любую оказанную помощь.

Я нашел некоторый код, чтобы улучшить wp_nav_menu_objects, чтобы показывать только вспомогательные страницы:

 // добавить крючок
     add_filter ('wp_nav_menu_objects', 'my_wp_nav_menu_objects_sub_menu', 10, 2);
 // filter_hook, чтобы реагировать на флаг sub_menu
 function my_wp_nav_menu_objects_sub_menu ($ sorted_menu_items, $ args) {
   if (isset ($ args-> sub_menu)) {
     $ root_id = 0;

     // находим текущий пункт меню
     foreach ($ sorted_menu_items как $ menu_item) {
       if ($ menu_item-> current) {
         // установить идентификатор корня на основе того, имеет ли текущий элемент меню родительский элемент или нет
         $ root_id = ($ menu_item-> menu_item_parent)?  $ menu_item-> menu_item_parent: $ menu_item-> ID;
         ломать;
       }
     }

     // найти родителя верхнего уровня
     if (! isset ($ args-> direct_parent)) {
       $ prev_root_id = $ root_id;
       while ($ prev_root_id! = 0) {
         foreach ($ sorted_menu_items как $ menu_item) {
           if ($ menu_item-> ID == $ prev_root_id) {
             $ prev_root_id = $ menu_item-> menu_item_parent;
             // не устанавливаем root_id в 0, если мы достигли вершины меню
             if ($ prev_root_id! = 0) $ root_id = $ menu_item-> menu_item_parent;
             ломать;
           } 
         }
       }
     }
     $ menu_item_parents = array ();
     foreach ($ sorted_menu_items как $ key => $ item) {
       // init menu_item_parents
       if ($ item-> ID == $ root_id) $ menu_item_parents [] = $ item-> ID;
       if (in_array ($ item-> menu_item_parent, $ menu_item_parents)) {
         // часть поддерева: держи!
         $ menu_item_parents [] = $ item-> ID;
       } else if (! (isset ($ args-> show_parent) && in_array ($ item-> ID, $ menu_item_parents))) {
         // не часть поддерева: прочь с ним!
         unset ($ sorted_menu_items [$ key]);
       }
     }

     return $ sorted_menu_items;
   } else {
     return $ sorted_menu_items;
   }
 } 

Затем я добавил короткий код для использования этого:

 function menu_function ($ atts, $ content = null) {
   экстракт (
   shortcode_atts (
   array ('name' => null,),
   $ ATTS
   )
   );
   $ submenu = wp_nav_menu (
                 массив (
                 'menu' => $ name,
                 'sub_menu' => true,
                 'depth' => '1',
                 'container_class' => '',
                 'menu_class' => '',
                 'echo' => false
                 )
               );

   return $ подменю;
 }
 add_shortcode («меню», «menu_function»);

Пока он выводит неформатированную ul элементов детского меню, упорядоченных по их позиции в навигационном меню. Но я не знаю, как отформатировать вывод, добавить в него выдержку и изображение.

Любая помощь высоко ценится!!! заранее спасибо

Solutions Collecting From Web of "Индекс со ссылками и выдержками из подстраниц, отсортированных по заказу меню навигации"