Wordpress:将管理子菜单从帖子移动到父级

Wordpress: moving admin submenu from Posts to a parent level

我现在想知道是否有任何方法可以从 Posts 更改管理子菜单分类法(如类别和标签)的级别,使其成为父菜单(例如 Page、Comment ...)

enter image description here

enter image description here

您可以更改菜单的显示高度,但我敢肯定您不能更改子菜单的级别,因为例如类别属于 post 类型 "post" 因为每个分类都属于定义它们的 post 类型...

您可以设置选项页面,或自定义 post 类型,但第一个不会包含分类法,第二个不会直接包含,也只是一个子菜单...

无论如何,也许您可​​以使用 java 脚本 hack 更改管理屏幕的 dom,但我不建议这样做!该任务是否有特定原因?

好的,我不知道我是否 100% 正确...您更改了默认 "post" 的名称和外观!?

也许为此引入自定义 post 类型会更好,但这不会像之前所说的那样改变子菜单的问题...

如果您的客户想要这样,我们开始吧,我测试了这个解决方案并且它工作正常,当然您可能需要做一些样式:

function load_custom_wp_admin_style() { ?>
<script>
    jQuery("#menu-posts ul li:nth-of-type(4)").prependTo("#adminmenu");
    jQuery("#menu-posts ul li:nth-of-type(4)").prependTo("#adminmenu");
</script>
<?php }
add_action( 'admin_footer', 'load_custom_wp_admin_style' );  

我将此代码添加到我的 functions.php 并将 post 类型 "posts" 的 "categories" 和 "tags" 移到了管理菜单的顶部就在 "dashbord"!

之前

如果你想在 "dashboard" 之后尝试使用:

function load_custom_wp_admin_style() { ?>
<script>
    jQuery("#menu-posts ul li:nth-of-type(4)").insertAfter("#menu-dashboard");
    jQuery("#menu-posts ul li:nth-of-type(4)").insertAfter("#menu-dashboard");
</script>
<?php }
add_action( 'admin_footer', 'load_custom_wp_admin_style' );

如果您没有使用 post 类型 "posts",您必须更改选择器“#menu-posts”,只需在检查器中查找即可!

编辑您最后的评论:

如果你想做一些样式,永远不要更改 wordpress 核心管理-css,你将在每次 wordpress 更新时丢失这些更改!!!

但是您可以通过函数 css 插入样式,就像我们插入脚本一样,即通过 css 背景添加图标,如下所示:

function load_custom_wp_admin_style() { ?>
    <script>
        // I add an id to the element so it can be selected more easily for styling...      
        jQuery("#menu-posts ul li:nth-of-type(5)").attr('id', 'custom_tag_link');
        // Here I change the position as done before...
        jQuery("#menu-posts ul li:nth-of-type(5)").insertAfter("#menu-dashboard");

        jQuery("#menu-posts ul li:nth-of-type(4)").attr('id', 'custom_cat_link');
        jQuery("#menu-posts ul li:nth-of-type(4)").insertAfter("#menu-dashboard");
    </script>
    <style>
        /* Here comes the styling... */

        /* Do some margins/paddings and background-alignments... */
        #custom_cat_link, #custom_tag_link {
            background-size: auto 100%;
            background-repeat: no-repeat;
            padding-left: 25px !important;
            margin: 10px !important;
        }

        /* Set your Icons here... */
        #custom_cat_link {
            background-image: url('https://cdn0.iconfinder.com/data/icons/customicondesignoffice5/256/examples.png');   
        }   
        #custom_tag_link {
            background-image: url('https://cdn0.iconfinder.com/data/icons/customicondesignoffice5/256/examples.png');
        }       
    </style>
<?php }
add_action( 'admin_footer', 'load_custom_wp_admin_style' );

第二件事:重命名...如前所述,我不会更改 post 类型 "post",更好的做法是引入自定义 post 类型,您可以根据需要命名它们以及它们的分类法,但我想您现在不想更改它,所以我们再次使用 JS 来 "unclean hack-a-like" 方式...完整代码:

function load_custom_wp_admin_style() { ?>
    <script>
        // I add an id to the element so it can be selected more easily for styling...      
        jQuery("#menu-posts ul li:nth-of-type(5)").attr('id', 'custom_tag_link');
        // Change the name of the <a>-element in the <li>-elem here...
        jQuery("#menu-posts ul li:nth-of-type(5) a").html('NEW TAG TITLE');
        // Here I change the position as done before...
        jQuery("#menu-posts ul li:nth-of-type(5)").insertAfter("#menu-dashboard");

        jQuery("#menu-posts ul li:nth-of-type(4)").attr('id', 'custom_cat_link');
        jQuery("#menu-posts ul li:nth-of-type(4) a").html('NEW CAT TITLE');
        jQuery("#menu-posts ul li:nth-of-type(4)").insertAfter("#menu-dashboard");
    </script>
    <style>
        /* Here comes the styling... */
        /* Do some margins/paddings and background-alignments... */
        #custom_cat_link, #custom_tag_link {
            background-size: auto 100%;
            background-repeat: no-repeat;
            padding-left: 25px !important;
            margin: 10px !important;
        }

        /* Set your Icon here... */
        #custom_cat_link {
            background-image: url('https://cdn0.iconfinder.com/data/icons/customicondesignoffice5/256/examples.png');   
        }   
        #custom_tag_link {
            background-image: url('https://cdn0.iconfinder.com/data/icons/customicondesignoffice5/256/examples.png');
        }       
    </style>
<?php }
add_action( 'admin_footer', 'load_custom_wp_admin_style' );

在这里您可以看到整个过程: