根据功能隐藏页面上的页面(EDIT_OTHERS_PAGES)?

时间:2012-06-08 作者:Travis Smith

目前,WordPress在编辑页面管理区域为具有编辑其他页面功能的用户显示页面方面做得很好。但是,如果用户已经编辑了其他页面,但还没有编写任何页面,WordPress会默认列出删除编辑操作的所有页面。但是,如果用户没有编写任何页面,我希望WordPress不显示任何页面。

我曾尝试在pre\\u get\\u帖子中编写一些代码,但似乎不起作用。

add_action( \'pre_get_posts\', \'wps_admin_exclude_pages\' );
function wps_admin_exclude_pages( $query ) {
    if( ! is_admin() )
        return $query;

    global $pagenow, $current_user;
    if( \'edit.php\' == $pagenow && \'page\' == get_query_var( \'post_type\' ) && ! current_user_can( \'edit_others_pages\' ) )
        $query->set( \'post_author\', $current_user->ID );

    return $query;
}

1 个回复
SO网友:Travis Smith

我使用了错误的query\\u var。它是author 不是post\\u作者。

add_action( \'pre_get_posts\', \'wps_admin_exclude_pages\' );
function wps_admin_exclude_pages( $query ) {
    if( ! is_admin() )
        return $query;

    global $pagenow, $user_ID;
    if( \'edit.php\' == $pagenow && \'page\' == get_query_var( \'post_type\' ) && ! current_user_can( \'edit_others_pages\' ) )
        $query->set( \'author\', $user_ID );

    return $query;
}

结束

相关推荐

将错误传递给ADMIN_NOTICES执行“快速编辑”/保存_POST操作

我目前有add_action(\'admin_notices\',\'my_notice_function\'); 无论何时刷新页面(检查某个页面是否有某个父页面),但使用“快速编辑”时,不会触发my admin\\u通知,因此都会正确更新。尝试将同一函数挂接到add_action(\'save_post\',\'my_notice_function\')); 它会中断格式化的表,并且不会以正常方式显示错误消息admin_notices 页面顶部的节。任何帮助都将不胜感激。目前的代码:public fun