隐藏面板中的帖子和页面

时间:2012-08-29 作者:Diana

我发现了这段代码,可以在管理页面列表中隐藏页面,但我需要某种方法来完成这一千个页面:

add_action( \'pre_get_posts\' ,\'hide_pages_87ff65f5f\' );

function hide_pages_87ff65f5f( $query ) {

    if( !is_admin() )
        return $query;

    global $currentpage;

  $pages = array(\'2389\',\'2605\',\'2640\',\'2970\',\'2626\');

  if( \'edit.php\' == $currentpage && ( get_query_var(\'post_type\') && \'page\' == get_query_var(\'post_type\') ) )
    $query->set( \'post__not_in\', $pages );

    return $query;
}
因为我迁移了一个大型静态站点,我想隐藏这个特定月份和年份的多个页面和帖子类型,所以我尝试了query and get\\u posts,但有些东西不起作用,或者在这里不可能:S

事实上,我需要在管理面板(如父选项框)中隐藏每个上下文的内容,但现在这已经足够了。

非常感谢您的帮助!

1 个回复
最合适的回答,由SO网友:brasofilo 整理而成

您发布的代码无效,因为没有global $currentpage.

$current_screen$pagenow.

add_action( \'pre_get_posts\', \'wpse_63414_hide_pages\' );

function wpse_63414_hide_pages( $query ) {

    if( !is_admin() )
        return $query;

    global $pagenow;   
    $pages = array(\'2\',\'26\');

    if( 
        \'edit.php\' == $pagenow 
        && ( get_query_var(\'post_type\') && \'page\' == get_query_var(\'post_type\') ) 
    )
        $query->set( \'post__not_in\', $pages );

    return $query;
}
要在下拉框中隐藏页面数组,必须使用这些过滤器:

add_filter( \'page_attributes_dropdown_pages_args\', \'wpse_63414_hide_dropdown_pages\' );
add_filter( \'quick_edit_dropdown_pages_args\', \'wpse_63414_hide_dropdown_pages\' );

function wpse_63414_hide_dropdown_pages( $args )
{
    $args[\'exclude\'] = \'2,26\';
    return $args;
}
排除页面的子级也不会显示。虽然我不确定这是不是expected behavior...

结束

相关推荐

是否将wp-content更改为其他名称?多站点设置

有没有一种简单的方法来改变单词wp-content 在源代码中显示的xyz-content 不破坏我的网站<我想这样做是为了品牌的目的。我试过:Url重写,但原始wp-content 仍显示在源代码中</进行站点下载、查找和替换,然后重新上传,但我的服务器需要24小时以上的时间</插件Real-Time Find and Replace 更改单词wp-content 到xyz-content 很快,但css等不会加载</还有其他方法吗?