涉及AJAX的自定义Walker导航问题

时间:2013-02-15 作者:Jamie

我在一个不是我写的主题中使用ajax。这个ajax点击链接,然后将该页面滑入视图。它工作得很好。为了做到这一点,我必须为wp\\U nav\\U菜单定制一个walker,在链接中添加两个字符,以便我的链接在nav中看起来像这样

 http://my-site.com/#!/post-1
我的问题是,当查看单个页面时。我必须让WordPress重新加载页面才能获得单个帖子。那么我的链接会是这样的

 http://my-site.com/?p=post-1
因此,当我将鼠标悬停在导航上以返回到上一页或新页时,这就是我的问题开始的地方。我的导航在单击时显示为选择

 http://my-site.com/?p=post-1#!/post-1
我不知道为什么它不能去掉以前的地址。这是我的定制助行器http://pastebin.com/Xn7NRiG7

大多数网站都是将帖子和页面加载到索引中,然后使用ajax将页面滚动到视图中。我试图将单个博客页面置于ajax功能之外。我试着用两种不同的菜单

 if( is_home() || is_page()){
           $args = array( \'depth\' => 3, \'container\' => \'\', \'container_class\' => \'\',\'menu_class\' =>\'\', \'menu_id\' => \'menu\', \'fallback_cb\' => \'default_menu\',\'link_before\' => \'<span></span><strong>\',\'link_after\' => \'</strong>\', \'theme_location\' => \'primary\',\'walker\' => new Amaranthe_Custom_Walker_Nav_Sub_Menu());
            wp_nav_menu($args);
        } else {
           $args = array( \'depth\' => 3, \'container\' => \'\', \'container_class\' => \'\',\'menu_class\' =>\'\', \'menu_id\' => \'menu\', \'fallback_cb\' => \'default_menu\',\'link_before\' => \'<span></span><strong>\',\'link_after\' => \'</strong>\', \'theme_location\' => \'primary\');
            wp_nav_menu($args);
        } ?>
你知道我怎样才能正确地回到ajax流中吗?

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

我通过在walker中添加此代码解决了此问题

    if( !is_home()){
    $item->url = get_bloginfo(\'url\')."/#!/page_".$temp_url;
}

结束

相关推荐

如何在加载外部Java脚本时包含admin-ajax

我正在创建一个插件,它有一些外部Javascript和一些AJAX调用。。。但我不知道引用admin-ajax.php 文件,因为路径需要来自PHP的一些输入(路径等)。我应该声明一个全局javascript变量吗?实现这一目标的最佳方式是什么?