【问题标题】:Place a custom post type under a custom menu items在自定义菜单项下放置自定义帖子类型
【发布时间】:2014-04-14 14:54:54
【问题描述】:

我正在尝试在我制作的菜单下放置自定义帖子类型,这是菜单的屏幕截图。我想将自定义帖子类型与该菜单一起添加。我用了sandbox_theme_menu,但是自定义帖子类型没有出现,

我尝试在我的 register_post_type 中添加这一行,但仍然没有出现。嗯,有什么想法吗?

'show_in_menu' => 'edit.php?page=sandbox_theme_menu',

【问题讨论】:

    标签: wordpress custom-post-type


    【解决方案1】:

    问题来了是因为custom post_types应该在WP init上创建,但是不能在admin_menu钩子之前添加自定义菜单项。

    虽然您知道 post_type 在菜单中的位置,但您可以像这样强制将其放置在另一个菜单中

    创建一个新的顶部菜单项:

    <?php
    add_action('admin_menu', 'add_menu');
    function add_menu(){
        add_menu_page(
            'Menu name',
            'Menu name',
            'publish',
            'your_menu_slug',
            'your_function_name'
        );
    }
    ?>
    

    创建自定义帖子类型: (我这里只放了例子有用的参数)

    <?php
    add_action('init', 'create_cpt');
    function create_cpt(){
        register_post_type(
            'your_cpt',
            array(
            'label' => 'Your CPT',
            'show_ui' => true,
            'show_in_menu' => true,
            'menu_position' => 901 //(or any not used numeric value)
            )
        );
    }
    ?>
    

    此时,您的菜单应显示自定义帖子类型的项目和自定义页面的另一个项目。 要在自定义页面下移动自定义帖子类型,请添加更改 add_menu 函数,如下所示:

    <?php
    function add_menu(){
        add_menu_page(
            'Menu name',
            'Menu name',
            'publish',
            'your_menu_slug',
            'your_function_name'
        );
    // get the global menu object
        global $menu,$submenu;
    // Add the top menu item to your custom page
        $submenu['your_menu_slug'][] =  $menu[901]; 
         //(must be the same numeric value as in register_post_type)
    // Finnaly, remove the initial menu item
        unset($menu[901]);
    }
    ?>
    

    现在您的自定义帖子类型应该出现在自定义页面菜单项下。

    【讨论】:

      【解决方案2】:

      你必须使用

      'show_ui' => true
      

      作为 register_post_type 函数的参数以使“show_in_menu”工作。更多信息请访问here

      【讨论】:

        猜你喜欢
        • 2015-03-24
        • 2018-04-30
        • 1970-01-01
        • 2012-09-18
        • 2015-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多