有时候给客户做模板经常会使用一些插件,比如theme my login插件,插件会自动生成一些默认页面来显示指定内容,而这些页面我们是不想让用户看到并编辑的来避免由于客户的更改导致页面内容出错。所以我们需要在 后台 > 页面 > 所有页面 选项卡里的页面列表排除指定的页面不让用户操作到,具体实现代码如下(直接把代码插入到主题文件夹下functions.php里就可以了):

add_action( 'pre_get_posts' ,'wpjam_exclude_pages' );
function wpjam_exclude_pages( $query ) {
        if( !is_admin() )
                return $query;
        global $pagenow;
        if( 'edit.php' == $pagenow && ( get_query_var('post_type') && 'page' == get_query_var('post_type') ) )
                $query->set( 'post__not_in', array(23,28,30) ); // 排除掉的页面ID
        return $query;
}