个性化阅读
专注于IT技术分析

WP不使用插件删除已添加的新页面

我想删除用户在Wordpress中添加新页面的功能。但窗台可以编辑它们。

即时通讯使用会员插件, 但对他们来说全有或全无。我可以隐藏所有页面(包括编辑和阅读功能)。我已经尝试了一些其他的大插件怎么做。所以我想写我的代码。

我找到了一些帮助, 但仅部分问题

例如, 此代码仅删除助手, 但不删除wp-admin / edit.php?post_type = page页面或上方菜单中的添加新按钮

function disable_new_pages() {
    // Hide sidebar link
    global $submenu;
    unset($submenu['edit.php?post_type=page'][10]);

    // Hide link on listing page
    if (isset($_GET['post_type']) && $_GET['post_type'] == 'page') {
        echo '<style type="text/css">
        #favorite-actions, .add-new-h2, .tablenav { display:none; }
        </style>';
     }
    }
    add_action('admin_menu', 'disable_new_pages');

我怎样才能完全删除


#1


有很多方法可以做到这一点, 但让我们以最简单/最好的方法做到这一点:

转到wp-includes / post.php并搜索’capability_type’=>’page’,

并添加

   'capabilities' => array(
        'create_posts' => false, ), 

它看起来像这样:

'capability_type'       => 'page', 'capabilities' => array(
                'create_posts' => false, ), 'map_meta_cap' => true, 'menu_position' => 20, 

‘map_meta_cap’=> true, //设置为true, 用户仍然可以编辑和删除帖子


#2


经过长时间的搜索, 我找到了对我有帮助的解决方案。我从页面重定向不需要的用户。比任何事情都简单(我认为)

   function my_restrict_access() {
        global $pagenow;

        if( current_user_can('client') && $pagenow == 'post-new.php' && ! current_user_can( 'publish_posts' ) )
              wp_redirect( admin_url() .'/edit.php?post_type=page' );
    }
    add_action( 'admin_init', 'my_restrict_access', 0 );
赞(0)
未经允许不得转载:srcmini » WP不使用插件删除已添加的新页面

评论 抢沙发

评论前必须登录!