将突出显示添加到新的管理仪表板菜单项

时间:2012-07-15 作者:fightstarr20

我在我的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上的编辑帖子页面。

enter image description here

我面临的问题是,尽管我已经单击了我的自定义链接,但它当前所在的页面是“编辑帖子”页面,这会导致高亮显示的箭头位于帖子部分,而不是我的自定义部分,如下图所示。

snapshot2

我需要的是,我的自定义项目也要高亮显示,我已经尝试查看过滤器并挖掘出\\u wp\\u menu\\u输出,其想法是过滤html并更改项目的id类以使其高亮显示。

有人能为我指出解决这个问题的正确方向吗?

1 个回复
最合适的回答,由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
}

结束

相关推荐