заменяемое вторичное меню в Wordpress

Я начал использовать WP сегодня и пытаюсь настроить его под свои нужды.

Я выбрал одну тему с двумя верхними меню, и назовем ее «средним» меню.

Итак, давайте предположим, что главное (верхнее меню) состоит из: (Главная, Веб-сайты, Приложения, Фото, Контакты)

И затем я хотел бы иметь разные меню для каждого выбора первого для дома - нет вторичного меню для веб-сайтов - меню "Mid1" со ссылкой на страницы (web1, web2, web3, web4...) для приложений - Меню «Mid2» со ссылкой на страницы (App1, App2, App3, App4...) для фотографий — меню «Mid3» со ссылкой на страницы (Gallery1, Gallery2, Gallery3, Gallery4...) для контактов — вторичного нет меню

Может быть, есть такой плагин, который справляется с этим, или я должен добавить что-то, если - то где-то в коде?

Tx.


person Balkyto    schedule 01.02.2012    source источник


Ответы (1)


Я бы использовал встроенную иерархию страниц WordPress, а затем создал подменю на основе этой иерархии.

Итак, вам нужно будет связать каждую подстраницу с ее родителем, что вы можете сделать на правой боковой панели редактора WordPress или использовать плагин перетаскивания, такой как PageMash:

  • Home
    • Webs
      • Web 1
      • Веб 2
      • Интернет 3
      • Веб 4
    • Apps
      • App 1
      • Приложение 2
      • Приложение 3
      • Приложение 4
    • Photos
      • Gallery 1
      • Галерея 2
      • Галерея 3
      • Галерея 4
    • Контакты

Затем добавьте код в свой шаблон (вероятно, page.php), чтобы перечислить дочерние элементы текущей страницы. Вам, вероятно, придется настроить это, чтобы получить именно то, что вы хотите, это просто для начала:

<?php
    /* List the child pages */
        if ($post->post_parent) {
           $ancestors=get_post_ancestors($post->ID);
           $root=count($ancestors)-1;
           $parent = $ancestors[$root];
         } else {
           $parent = $post->ID;
         }

          $parent_title = get_the_title($post->post_parent);
          $children = wp_list_pages("title_li=&child_of=". $parent ."&echo=0");

          if ($children) { ?>

              <ul>
                 <?php echo $children; ?>
              </ul>
           <?php }
                /* If there are no children, do something else, or nothing */
                else { } ?>
person Chris Fletcher    schedule 01.02.2012
comment
См. документацию wp_list_pages для получения дополнительной помощи/настройки вашего подменю: codex.wordpress.org/Function_Reference/wp_list_pages - person Chris Fletcher; 01.02.2012
comment
Я нашел способ вызвать точное сохраненное меню для конкретных страниц, которые помещены в массив страниц. Это не работает автоматически, поэтому, когда я добавляю новую страницу, мне приходится вручную помещать ее идентификатор в массив, но это решило мою проблему :) - person Balkyto; 10.03.2012