【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 );
推荐阅读
- 本图文详细教程教你win10U盘安装
- 从Woocommerce价格中删除跨度标签
- 删除或禁用wordpress窗口小部件类之一
- 删除菜单项和页面列表的li类和ID
- 从WordPress版本5.0.2中永久删除网站信息
- 使用自定义分类法+帖子标题或仅发布帖子标题,删除自定义postype基本子词和前缀永久链接
- 从具有特定类别wordpress的页面中删除自定义正文类
- 从WordPress中类别页面的标题中删除”category”
- 删除自动添加到分页URL(自定义永久链接)的参数