我在我的wordpress仪表板中使用函数中的以下命令实现了一个自定义菜单项。php
function create_menu() {
$settings_page = add_menu_page(\'Edit_Post_69\', \'Edit_Post_69\', \'add_users\', \'/post.php?post=69&action=edit\', \'\', get_stylesheet_directory_uri() . \'/editicon.png\', 2);
}
这非常有效,并将图标添加到dashmenu中,包括图标,单击后,我将进入Post#69上的编辑帖子页面。
我面临的问题是,尽管我已经单击了我的自定义链接,但它当前所在的页面是“编辑帖子”页面,这会导致高亮显示的箭头位于帖子部分,而不是我的自定义部分,如下图所示。
我需要的是,我的自定义项目也要高亮显示,我已经尝试查看过滤器并挖掘出\\u wp\\u menu\\u输出,其想法是过滤html并更改项目的id类以使其高亮显示。
有人能为我指出解决这个问题的正确方向吗?
最合适的回答,由SO网友:brasofilo 整理而成
很有可能没有钩子存在。。。
但可以通过jQuery解决:
add_action( \'admin_head-post.php\', \'wpse_58567_highlight_menu_item\' );
function wpse_58567_highlight_menu_item()
{
global $post;
if( 69 != $post->ID )
return;
?>
<script type="text/javascript">
jQuery(document).ready( function($) {
$(\'#toplevel_page_post-post-69-action-edit\').removeClass(\'wp-not-current-submenu\').addClass(\'current\');
$(\'#toplevel_page_post-post-69-action-edit\').find(\'a:last\').addClass(\'current\');
});
</script>
<?php
}