是否排除除少数页面外的所有页面?

时间:2010-12-17 作者:Joann

我有一大堆页面,我只想在主菜单上包括2到3页。我该怎么做?当前我的代码如下所示:

wp_page_menu(\'include=156,572,542&sort_column=menu_order&echo=0\');
如果我要插入exclude=x pages, 这没有道理,因为他们太多了。

请不要推荐插件。我试过一些,但它们与我在这方面所做的其他事情相冲突。

UPDATE以下是完整功能:

function main_nav() {?>
<div id="access">
    <div id="sub-access">
        <div id="sub-sub-access">   
            <div class="skip-link"><a href="#content">"><?php _e(\'Skip to content\', \'thematic\'); ?></a></div>
            <?php echo preg_replace(\'/<ul>/\', \'<ul class="sf-menu">\', wp_page_menu(\'include=11,13,7,9,4&sort_column=menu_order&echo=0\'), 1);?>
        </div>
     </div>   
</div><!-- #access --> <?php
}

add_action(\'thematic_header\',\'main_nav\',9);
这是Thematic的Thematic\\u access()函数的自定义版本。我不知道为什么会这样。我在一个新的装置上试过,它仍然不能工作。

3 个回复
最合适的回答,由SO网友:onetrickpony 整理而成

尝试

   ...
   echo preg_replace(\'/<ul>/\', \'<ul class="sf-menu">\', 
       wp_page_menu(
         array(
          \'include\' => \'11,13,7,9,4\',
          \'sort_column\' => \'menu_order\',
          \'echo\' => 0)), 1);

  ...
   echo preg_replace(\'/<ul>/\', \'<ul class="sf-menu">\', 
       wp_page_menu(
         array(
          \'include\' => array(11,13,7,9,4),
          \'sort_column\' => \'menu_order\',
          \'echo\' => 0)), 1);  
顺便说一句,有比使用这样的正则表达式更好的方法向html标记添加类。。。

SO网友:Don Gilbert

更聪明的方法是使用WordPress 3.0的自定义菜单。将wp\\u page\\u menu()替换为wp\\u nav\\u menu(),然后看看效果如何。

SO网友:t31os

这个插件声称只从菜单中排除页面,并提供了一个简单的复选框来排除页面,也许这会有所帮助
http://wordpress.org/extend/plugins/exclude-pages/

结束

相关推荐

Menu API not switching menus?

我正在使用菜单API,我想切换到其他菜单,但出于某种原因,它保留了第一个菜单这是我的密码在函数中。php add_action( \'init\', \'register_my_menus\',10 ); function register_my_menus() { register_nav_menu(\'main-navigation\', \'Main Navigation\'); } 下面是我的主题文件(header.ph