Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/wordpress/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何通过循环菜单项在页脚中动态创建页面链接列表_Php_Wordpress_Loops_Menu_Footer - Fatal编程技术网

Php 如何通过循环菜单项在页脚中动态创建页面链接列表

Php 如何通过循环菜单项在页脚中动态创建页面链接列表,php,wordpress,loops,menu,footer,Php,Wordpress,Loops,Menu,Footer,我希望在页脚中动态创建此菜单列表: <a href="<?php bloginfo( 'url' ); ?>/">Home</a><br> <a href="<?php bloginfo( 'url' ); ?>/about-us/">About Us</a><br> <a href="<?php bloginfo( 'url' ); ?>/legal-services/">O

我希望在页脚中动态创建此菜单列表:

<a href="<?php bloginfo( 'url' ); ?>/">Home</a><br>
<a href="<?php bloginfo( 'url' ); ?>/about-us/">About Us</a><br>
<a href="<?php bloginfo( 'url' ); ?>/legal-services/">Our Legal Services:</a><br>
<a class="indent" href="<?php bloginfo( 'url' ); ?>/legal-services/commercial-law/">Commercial Law</a><br>
<a class="indent" href="<?php bloginfo( 'url' ); ?>/legal-services/concrete-law/">Concrete Law</a><br>
<a class="indent" href="<?php bloginfo( 'url' ); ?>/legal-services/general-business-law/">Business Law</a><br>
<a href="<?php bloginfo( 'url' ); ?>/contact-us/">Contact Us</a>

我只是想不出一种方法来复制/修改上面的内容,以满足我在页脚中的需要。(注意,这将直接编码到footer.php中,而不是在小部件中创建。)

有人能提供一些指导吗

编辑:

我尝试将此代码添加到页脚以获得解决方案,但我一定是做错了什么,因为我收到了错误消息:菜单“页眉菜单”未定义

          <?php 
            // Get the nav menu based on $menu_name (same as 'theme_location' or 'menu' arg to wp_nav_menu)
            // This code based on wp_nav_menu's code to get Menu ID from menu slug

            $menu_name = 'header-menu';

            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_list = '<ul id="menu-' . $menu_name . '">';

            foreach ( (array) $menu_items as $key => $menu_item ) {
                $title = $menu_item->title;
                $url = $menu_item->url;
                $menu_list .= '<li><a href="' . $url . '">' . $title . '</a></li>';
            }
            $menu_list .= '</ul>';
            } else {
            $menu_list = '<ul><li>Menu "' . $menu_name . '" not defined.</li></ul>';
            }
            // $menu_list now ready to output

            echo $menu_list;
          ?>

哇。。事实上我是自己想出来的。。我想得太多了!最终解决方案是如此简单。(注意:这仅用于列出页面-在页脚中创建迷你网站地图)

您只需添加以下代码行:

<div class="footermap">
    <ul style="list-style-type: none;"><?php wp_list_pages("title_li="); ?></ul>
</div>
同时也要确保你清理了WP管理区的页面列表。。不要在菜单结构中留下任何您实际上没有使用的“已发布”,因为此代码将拾取它。。。即使您没有将其标记为添加到主导航菜单中。(我只是把我想留下的东西标为草稿……以防万一我以后需要它们,例如:博客页面)


很容易编写代码,但很难找到解决方案

我不知道为什么有人给了我“否决票”。我正试图自己找到解决办法。。但我对这一切还是新手。。我只是想得到一些支持。如果你认为我的问题不好,至少给我一些反馈,告诉我如何改进。因为这个答案没有使用我正在寻找的wp_nav_menu()解决方案(只列出顶部导航中的页面),这意味着使用wp_list_pages()将显示所有发布的页面,不管它们是否在菜单中。例如,如果你有一个感谢页面。。它将列在您的页脚网站地图中。因为我不想那样。。我不得不添加带有页面id的exclude参数,以跳过显示某些页面。这是要使用的代码:
          <?php 
            // Get the nav menu based on $menu_name (same as 'theme_location' or 'menu' arg to wp_nav_menu)
            // This code based on wp_nav_menu's code to get Menu ID from menu slug

            $menu_name = 'header-menu';

            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_list = '<ul id="menu-' . $menu_name . '">';

            foreach ( (array) $menu_items as $key => $menu_item ) {
                $title = $menu_item->title;
                $url = $menu_item->url;
                $menu_list .= '<li><a href="' . $url . '">' . $title . '</a></li>';
            }
            $menu_list .= '</ul>';
            } else {
            $menu_list = '<ul><li>Menu "' . $menu_name . '" not defined.</li></ul>';
            }
            // $menu_list now ready to output

            echo $menu_list;
          ?>
<div class="footermap">
    <ul style="list-style-type: none;"><?php wp_list_pages("title_li="); ?></ul>
</div>
.footermap > ul {
    padding-left: 0px; 
}

.footermap > ul ul.children {
    list-style-type: none; 
    padding-left: 15px; 
}