1

我正在为客户设置一个 WP 页面。我有一个下拉菜单,主菜单项是一个不可点击的链接,上面写着“菜单”。在每个子页面上,我需要子页面的标题显示它通常(仅在起始页上)显示“菜单”的位置。

我已经能够使用我的主题支持帮助我完成的代码来完成此任务:

(function($){
  var title = '';
  $('.menu-item').each(function(){
    if( $(this).hasClass('current-menu-item')){
      title = $(this).find('span').text();
    }
  });
  if(title){
   $("#menu-item-36 > a span").text(title);
    console.log(title);
  }
})(jQuery); 

#menu-item-36是主菜单项的 ID - “MENU”。

问题是我还需要页面能够顺利加载,而无需在每个页面上重新加载标题。因此,我使用了一个名为 Ajaxify Pro 的插件,它非常适合执行此操作,但 Ajaxify 从活动菜单项中删除了“current-menu-item”类,因此我的代码不再起作用。

有没有解决的办法?子菜单中的活动/当前菜单项与菜单中的其他项没有任何不同的类,所以我正在想办法解决这个问题。

任何帮助将非常感激!

在这里您可以看到激活了 Ajaxify 并且代码不起作用的页面:http: //test.frankochrakel.se/

4

1 回答 1

0

正如我所见,菜单总是有 IDmenu-item-36是你的 ID 吗?

无论如何,当我看到选定的菜单有一个current_page_item类,所以就这样找到它:

(function($){
  var title = '';
  title = $('#menu-item-36').find('.current_page_item').text()
  if(title) {
   $("#menu-item-36 > a span").text(title);
    console.log(title);
  }
})(jQuery); 
于 2015-06-01T13:30:49.427 回答