0

我一直在尝试在 wordpress 中创建自己的 megamenu,主要是使用该get_pages()方法。

目前它有 3 层深,即 3 个嵌套foreach循环 - 我首先想知道,是否有更有效的方法来使用 vanilla wordpress 3.2 方法(例如 wp_nav_menu() 方法),其次,我是否应该关注性能?

我问是因为我已经看到其他网站使用 megamenus 并且在几个网站上,在查找/计算菜单时,每个页面加载都有明显的滞后。我的当前加载整个页面需要 0.8 秒到 1.8 秒 - 通常是菜单本身的 0.5 秒。

我的测试环境有一个远程数据库服务器,它解释了不同程度的延迟,很难看出是性能问题还是网络延迟。

当我拨打这些电话时,我对 wordpress 的内容知之甚少,无法知道它实际上在做什么,这里有人更聪明吗?

注意:如果有人想说“告诉过你”,请记住这与我之前关于 PHP 包含和 wordpress 的问题无关。诚实的。

注意2:另外,由于对上述问题的回答,我已经知道,已经查看并计划在以后集成超级缓存或类似的东西 - 我想从这个问题中知道的是菜单是否有问题这边走。

参考:

http://codex.wordpress.org/Function_Reference/wp_nav_menu

http://codex.wordpress.org/Function_Reference/get_pages

编辑:一些伪代码显示我现在正在做的事情的类型:

//get the toplevel pages
$parents = get_pages($args);
foreach ($parents as $parent)
{
    //echo out some links
    //get the children of the top level pages
    $childPages = get_pages($args);
    foreach ($childPages as $childpage)
    {
        //get the children of the child pages, echo a link and some markup
        $grandchildPages = get_pages($args);
        foreach ($grandchildPages as $grandchildPage)
        {  
            //echo out a link and some markup
        } 
    }
}
4

0 回答 0