阻止Wordpress管理菜单中的顶级菜单链接起作用

时间:2017-11-10 13:43:07

标签: jquery wordpress

我想要实现的目标。

我已经创建了一个自定义的顶级Wordpress菜单,并且还添加了许多子菜单项。

我实际上并不需要顶级项目的页面 - 这只是我希望将其作为“标题”来挂钩子菜单项的内容。

理想情况下我喜欢它,所以当你将光标移动到顶级项目时,子菜单会飞出(默认情况下会这样)但是如果点击它就没有任何反应。

工作解决方案

这个jQuery现在可以运行了 - 如果你正在努力,只需确保正确清除浏览器缓存。

// Javascript

jQuery(document).ready(function() {
jQuery('a.toplevel_page_menu_slug').click(function(event) { // where 'menu_slug' is your menu slug
    /*alert ('working'); - Testing purposes only */
    event.preventDefault(); // cancel the event
});
});

此CSS将鼠标悬停的光标更改为默认值,而不是指针。

//CSS 
a.toplevel_page_menu_slug {
cursor: default;
}

1 个答案:

答案 0 :(得分:1)

显然,您的脚本未加载或选择器无效。这就是你应该如何在WP Admin中包含你的脚本:

function preventTopLevelLink() {
    wp_enqueue_script( 'prevent_top_level_link', get_template_directory_uri() . '/myscript.js' );
}

add_action( 'admin_enqueue_scripts', 'preventTopLevelLink' );

https://codex.wordpress.org/Plugin_API/Action_Reference/admin_enqueue_scripts

你的脚本基本上应该工作,试试这样:

(function($) {
   $(document).ready(function() {
     $(document).on('click','a.toplevel_page_menu_slug',function(event) { // where 'menu_slug' is your menu slug
      event.stopPropagation();
      event.preventDefault(); // cancel the event
     });
   });
})(jQuery);