如果它是一个插件,如何从导航菜单中获取数组?

时间:2016-12-19 作者:tokuimo

我想要一个array 作为新插件的一部分,从我新创建的菜单中删除,但结果是非常棘手的。

为什么我会得到布尔值false 为了一切(object, array, items) 除了wp_nav_menu()?

<?php

add_action( \'init\', \'register_omaha_menu\' );
function register_omaha_menu() {
    register_nav_menu( \'omahamenu\', __( \'Omaha Menu\' ) );
}

add_action( \'wp_footer\', \'get_link_to_pages\' );
function get_link_to_pages() {

    wp_nav_menu( array( \'menu\' => \'omahamenu\' ) ); // This is working. Output: Omaha Menu
    $menuooo = wp_get_nav_menu_items( \'Omaha Menu\' ); // Not working. Why? Output: /srv/www/.../web/app/plugins/omaha/omaha.php:--:boolean false
    var_dump( $menuooo ); // Not working. Why? Output: /srv/www/.../web/app/plugins/omaha/omaha.php:--:boolean false
    var_dump( wp_get_nav_menu_object( \'omahamenu\' ) ); // Not working. Why? Output: /srv/www/.../web/app/plugins/omaha/omaha.php:--:boolean false
    var_dump( get_term_by( \'omahamenu\', NULL, \'nav_menu\' ) ); // Not working. Why? Output: /srv/www/.../web/app/plugins/omaha/omaha.php:--:boolean false

}
提前谢谢你。

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

您拥有的是一个主题位置,您需要首先获得分配给该位置的菜单,以获取其项目:

if( ( $locations = get_nav_menu_locations() )
    && isset( $locations[ \'omahamenu\' ] ) ) {
        $menuooo = wp_get_nav_menu_items( $locations[\'omahamenu\'] );
        var_dump( $menuooo );
}

相关推荐

用标准的干净文件替换NAV-menus.php文件?

我是一个自学成才的wordpress网站设计师,请原谅我的无知。我为一个客户开发的几个网站最近被一个印尼黑客组织破坏了(很有趣!)。客户端没有更新wordpress安装和其他一些危及安全的事情。遗憾的是,没有网站的清理备份。网络主机给了我一个包含恶意软件扫描结果的文本文件。看起来很多受影响的文件都是导航菜单。网站的php文件。文本文件中显示的扫描结果示例如下:“[主目录]/[网站文件夹名称]/wp includes/nav-menu.php:SL-php-INJECTOR-1-ejw.UNOFFICIAL