WordPress自定义文章类型如何放在二级菜单

江河/ 2023年06月10日/ WordPress/ 浏览 996

为了作出一个功能丰富的 WordPress 主题或插件,经常需要自定义文章类型。


如果需求复杂,可能还需要自定义多个文章类型。默认清空下,每个新的文章类型都会在左边菜单新加一项。


如此,装的插件多的话,左边菜单不免会显得乱糟糟的,一个插件的菜单可能会分布在不同的位置。


如果,把同一类功能的菜单项,或者同一个插件或主题下的菜单项放到一个父菜单下,就会清楚一些。


默认情况下,每个自定义文章类型都会创建一个顶级菜单。如何才能使其变为一个二级菜单呢?


register_post_type 函数,有一个参数:show_in_menu。


按照官方文档:


在管理菜单中显示文章类型的位置。show_ui一定是真的。


'false'–不显示在管理菜单中


“true”–显示为顶级菜单


“some string”–如果是现有的顶级页面,如“tools.php”或“edit.php?post_type=page',则post类型将作为其子菜单放置。


当使用“some string”作为插件创建的菜单页面的子菜单显示时,此项将成为第一个子菜单项,并替换顶级链接的位置。如果不需要这样做,创建菜单页面的插件需要将admin_menu的add_action优先级设置为9或更低。


由于这个属性继承了show_ui的值,而show_ui继承了public的值,因此它似乎是确定post类型是否可以公开使用的最可靠的属性。至少这适用于_builtin帖子类型,并且只返回帖子和页面。


因此,只需要使用参数-show_in_menu-指定父菜单就可以了。


发表评论

暂无评论,抢个沙发...

客服 工单