Php 使用自定义导航菜单时找不到POST

Php 使用自定义导航菜单时找不到POST,php,wordpress,Php,Wordpress,我正在使用Wordpres引导主题/框架。在header.php页面中,我创建了一个脚本,用于构建导航菜单,并在需要时自动添加下拉子菜单(带有子链接)。脚本工作得很好,但问题是当我查看一篇文章(在我的例子中是一个页面)时,我会得到“找不到”。相反,如果我禁用脚本并使用默认菜单,帖子(页面)将正确显示。我觉得我的剧本有点不对劲。我把它贴在这里,希望有人能解开这个谜 <?php $menu_name = 'main_nav'; if ( ( $locations = get

我正在使用Wordpres引导主题/框架。在header.php页面中,我创建了一个脚本,用于构建导航菜单,并在需要时自动添加下拉子菜单(带有子链接)。脚本工作得很好,但问题是当我查看一篇文章(在我的例子中是一个页面)时,我会得到“找不到”。相反,如果我禁用脚本并使用默认菜单,帖子(页面)将正确显示。我觉得我的剧本有点不对劲。我把它贴在这里,希望有人能解开这个谜

<?php

    $menu_name = 'main_nav';

    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);

        // --- Menu ---
        echo '<ul id="menu-' . $menu_name . '" class="nav">';


        foreach ( (array) $menu_items as $key => $menu_item ) {
            $title = $menu_item->title;
            $url = $menu_item->url;




            $args_post = array(
                'category_name' => $title,
                'post_type' => 'page',
                'orderby' => 'name',
                'order' => 'ASC'
            );  
            query_posts($args_post); 


            if (have_posts()){
?>
                <li class="dropdown">
                <a class="dropdown-toggle" data-toggle="dropdown" href="#"><?php echo $title; ?><b class="caret"></b></a>


                <!-- Sub-menu -->
                <ul class="dropdown-menu submenu">
                <?php
                    while (have_posts()) : the_post();  
                ?>

                    <li><a href="<?php the_permalink() ?>" title="<?php the_title_attribute(); ?>"><?php the_title(); ?></a></li>

                <?php 
                    endwhile;
                ?>
                </ul> <!-- end Sub-menu -->




<?php
            wp_reset_query();

            } else {
                echo '<li class="">';
                echo '<a href="' . $url . '">' . $title . '</a>';               
            } 




            echo '</li>'; 
        } // foreach
        echo '</ul>'; 

    } else {
        echo '<ul><li>Menu "' . $menu_name . '" not defined.</li></ul>';
    }



?>


  • 您是否阅读了
    query\u posts()
    文档开头列出的所有注意事项?我看过了,但不知道有什么不对,我调用了wp\u reset\u query(),但什么都没有