Php 在WordPress后端中隐藏除一个页面以外的所有页面

Php 在WordPress后端中隐藏除一个页面以外的所有页面,php,wordpress,Php,Wordpress,我正试图对用户(ID=14)隐藏除一个特定页面之外的所有页面。这是我在这篇文章的帮助下得到的: 结果是我的站点停止工作。您的代码有问题。您正在函数外部获取用户id。在这种情况下,代码应如下所示: function jp_exclude_pages_from_admin($query) { if ( ! is_admin() ) return $query; global $pagenow, $post_type;

我正试图对用户(ID=14)隐藏除一个特定页面之外的所有页面。这是我在这篇文章的帮助下得到的:


结果是我的站点停止工作。

您的代码有问题。您正在函数外部获取用户id。在这种情况下,代码应如下所示:

    function jp_exclude_pages_from_admin($query) {

        if ( ! is_admin() )
            return $query;

        global $pagenow, $post_type;
        $current_user_id = get_current_user_id();

        if ( $current_user_id == 'youruserid' && $pagenow == 'edit.php' && $post_type == 'page' )
            $query->query_vars['post__not_in'] = array( 'yourpageid' ); // Enter your page IDs here

    }
    add_filter( 'parse_query', 'jp_exclude_pages_from_admin' );

在上面的部分中,您忘记输入$current\u user\u id,这就是它被挂起的原因。希望这段代码能起作用。让我知道它是否有效。我已经测试过了&它在我这边非常有效

谢谢你的Adnan!工作起来很有魅力。我已经将['post\uu not\u in']改为['post\uu in'],只向用户显示特定的页面。很高兴听到这个消息。如果可能的话,请对答案进行投票(有效:)
    function jp_exclude_pages_from_admin($query) {

        if ( ! is_admin() )
            return $query;

        global $pagenow, $post_type;
        $current_user_id = get_current_user_id();

        if ( $current_user_id == 'youruserid' && $pagenow == 'edit.php' && $post_type == 'page' )
            $query->query_vars['post__not_in'] = array( 'yourpageid' ); // Enter your page IDs here

    }
    add_filter( 'parse_query', 'jp_exclude_pages_from_admin' );