2010-07-26 2 views

ответ

0

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

Я решил сделать это в одном из своих проектов, потому что я хотел иметь много страниц без навигации, не добавляя в exclude_pages.

EDIT (чтобы быть более точным):

Навигация в теме по умолчанию (сор-содержание/темы/TwentyTen) находится в файле header.php и выглядит следующим образом:

<div id="access" role="navigation"> 
    <?php /* Allow screen readers/text browsers to skip the navigation menu and get right to the good stuff */ ?> 
    <div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e('Skip to content', 'twentyten'); ?>"><?php _e('Skip to content', 'twentyten'); ?></a></div> 
    <?php /* Our navigation menu. If one isn't filled out, wp_nav_menu falls back to wp_page_menu. The menu assiged to the primary position is the one used. If none is assigned, the menu with the lowest ID is used. */ ?> 
    <?php wp_nav_menu(array('container_class' => 'menu-header', 'theme_location' => 'primary')); ?> 
</div><!-- #access --> 

If вы рассматриваете-источник на странице это создает в WordPress по умолчанию установки, становится следующий HTML:

<div id="access" role="navigation"> 
    <div class="skip-link screen-reader-text"><a href="#content" title="Skip to content">Skip to content</a></div> 
    <div class="menu"> 
     <ul> 
      <li class="current_page_item"><a href="http://YOURSITE.COM/" title="Home">Home</a></li> 
      <li class="page_item page-item-2"><a href="http://YOURSITE.COM?page_id=2" title="About">About</a></li> 
     </ul> 
    </div> 
</div><!-- #access --> 

Итак, как вы можете видеть, если вы хотите, чтобы настроить навигацию вы бы просто удалить эту строку wp_nav_menu и замените ее соответствующим html. Скажите, что вы хотите, чтобы ваша навигация переходила на страницы Home, Cool Stuff и About Us. Это может быть сделано с помощью следующего кода в header.php:

<div id="access" role="navigation"> 
    <?php /* Allow screen readers/text browsers to skip the navigation menu and get right to the good stuff */ ?> 
    <div class="skip-link screen-reader-text"><a href="#content" title="<?php esc_attr_e('Skip to content', 'twentyten'); ?>"><?php _e('Skip to content', 'twentyten'); ?></a></div> 
    <?php /* Our CUSTOM navigation menu. */ ?> 
    <div class="menu"> 
     <ul> 
      <li class="<?php if (!is_paged() && is_home()) { ?>current_page_item<?php } else { ?>page_item<?php } ?>"><a href="<?php bloginfo('url'); ?>" title="Home">Home</a></li> 
      <li class="<?php if (is_page('cool-stuff')) { ?>current_page_item<?php } else { ?>page_item<?php } ?>"><a href="<?php bloginfo('url'); ?>/cool-stuff" title="Cool Stuff">Cool Stuff</a></li> 
      <li class="<?php if (is_page('about-us')) { ?>current_page_item<?php } else { ?>page_item<?php } ?>"><a href="<?php bloginfo('url'); ?>/about-us" title="About Us">About Us</a></li> 
     </ul> 
    </div> 
</div><!-- #access --> 
+0

Не могли бы вы рассказать мне, как уничтожить динамически созданные ссылки, заменив их собственными? – user1400

+0

Несомненно. Я отредактирую свой ответ, чтобы быть более конкретным. – danielpcox

0

Это, как правило, зависит от темы, я думаю ...

Если я не ошибаюсь, некоторые темы будут иметь возможность на странице «Тема Параметры». Если этого параметра нет, автор темы, которую вы используете, не предоставил ее, поэтому вам нужно либо перекодировать тему, либо переключиться на другую.

Смежные вопросы