如何删除自定义帖子类型的帖子列表页面

时间:2016-09-23 作者:Ishan Jain

我想提供在自定义帖子类型中创建单个帖子的功能。为此,当用户单击word press后端左侧栏上的主选项(帖子名称)时,它会自动重定向到“添加新帖子”,或者如果已经创建了帖子,则会自动重定向到“编辑帖子”(现有帖子编辑)。

现在在后端,post选项如下所示-

My Posts

所以,现在我不需要子菜单。然后单击主菜单上的preform add/edit post选项。这是可能的,如果是的话,你能告诉我如何做到这一点吗?

2 个回复
SO网友:Ishan Jain

我有办法解决这个问题。通过使用“add\\u action”,我可以实现我的目标。

  add_action("load-edit.php", \'block_listing_page\');
  //-- Block user to access post listing page    
  function block_listing_page() {
        if ($_GET["post_type"] == "your_custom_post_type") {
            $args = array(\'post_type\' => \'your_custom_post_type\', \'post_status\' => \'publish\');
            $galleryPosts = get_posts($args);
            if (!empty($galleryPosts) && count($galleryPosts) > 0) {
                wp_redirect("post.php?post=" . $galleryPosts[0]->ID . "&action=edit");
            } else {
                wp_redirect("post-new.php?post_type=your_custom_post_type");
            }
        }
    }

    add_action("load-post-new.php", \'block_create_multiple_gallery\');
    //-- Check if a post is exist open in edit mode when clicking add new post
    function block_create_multiple_gallery() {
        if ($_GET["post_type"] == "your_custom_post_type") {
            $args = array(\'post_type\' => \'your_custom_post_type\', \'post_status\' => \'publish\');
            $galleryPosts = get_posts($args);
            if (!empty($galleryPosts) && count($galleryPosts) > 0) {
                wp_redirect("post.php?post=" . $galleryPosts[0]->ID . "&action=edit");
            } else {
                return true;
            }
        }
    }
但是,still i want to hide sub menu (i.e "Add New"); Can anyone help me to get this done?

SO网友:AddWeb Solution Pvt Ltd

您需要使用正确的钩子(这些钩子并不总是与URL/slug相同),并且使用稍后运行的钩子(例如admin\\u init)也没有坏处:

add_action( \'admin_init\', \'wpaws_136058_remove_menu_pages\' );

function wpaws_136058_remove_menu_pages() {



    /*You can check list of menu item by below code:
    foreach ($GLOBALS[\'menu\'] as $key => $value) {          
        print(\'<pre\');
        print_r($value);
        print(\'</pre>\');
    }
    */

    //Remove item from menu
    remove_menu_page(\'menu_to_remove\');

}

相关推荐

Admin Theme customization

我遵循wordpress codex网站上关于通过插件创建管理主题的说明。我激活了插件,但我的样式表没有包含在<head>.. 这是我的代码:add_action( \'admin_init\', \'kd_plugin_admin_init\' ); add_action( \'admin_menu\', \'kd_plugin_admin_menu\' ); function kd_plugin_admin_init() { /* Register