如何在Wordpress中更改默认屏幕选项

如何在Wordpress中更改默认屏幕选项,wordpress,Wordpress,我正在寻找一种方法来更改post编辑器中的默认屏幕选项。 我想在默认情况下隐藏某些选项。我正在建立一个家庭食谱网站,不想让用户有太多的选择。我不想以每个用户的身份登录并手动更改他们的选项。我已经梳理了WP核心文件和主题文件,找不到太多关于屏幕选项的参考。它是在数据库的某个地方定义的吗 提前感谢。默认屏幕选项保存在wp\u usermeta中,meta\u键是metaboxhidden\u post 我认为设置默认选项(或隐藏特定框)的最简单方法是使用类似的插件。我个人使用插件来完成这项任务(还有

我正在寻找一种方法来更改post编辑器中的默认屏幕选项。 我想在默认情况下隐藏某些选项。我正在建立一个家庭食谱网站,不想让用户有太多的选择。我不想以每个用户的身份登录并手动更改他们的选项。我已经梳理了WP核心文件和主题文件,找不到太多关于屏幕选项的参考。它是在数据库的某个地方定义的吗


提前感谢。

默认屏幕选项保存在
wp\u usermeta
中,
meta\u键是
metaboxhidden\u post

我认为设置默认选项(或隐藏特定框)的最简单方法是使用类似的插件。我个人使用插件来完成这项任务(还有很多其他任务)。

使用过滤器

好处:要了解它是如何工作的,请看一下核心函数()。以下是一个简化版本:

function get_hidden_meta_boxes( $screen ) {
    $hidden = get_user_option( "metaboxhidden_{$screen->id}" );
    if ( $use_defaults ) {
        $hidden = apply_filters( 'default_hidden_meta_boxes', $hidden, $screen );
    }
    return apply_filters( 'hidden_meta_boxes', $hidden, $screen, $use_defaults );
}

对Zendka的回答稍加修改。我只想从列表中删除一项,而不改变数组

add_filter( 'default_hidden_meta_boxes', 'show_author_metabox', 10, 2 );
function show_author_metabox( $hidden, $screen )
{
    $authorkey = array_search( 'authordiv', $hidden );
    unset( $hidden[ $authorkey ] );

    return $hidden;
}
在我的例子中,我正在从隐藏列表中删除“authordiv”,将其与要从隐藏的元框中删除的任何元框交换


在取消设置元盒之前,我不会检查它是否存在,因为如果数组搜索没有结果,它不会产生任何PHP通知/错误。

非常感谢您提供的信息。我在搜索此任务的插件时看到adminimize,并看到它是针对v的。3.6-β3。我正在运行3.9.1。这是我不咬的唯一原因。我能安全地安装它吗?我想它使用起来是安全的。它来自一个优秀且经验丰富的开发人员。如果你在“兼容性”下检查,你通常会得到一个非常好的主意。它在哪里说它是v3.6-beta3版的?在你发布的链接上-wordpress.org“要求:2.5或更高版本-兼容至:3.6-beta3-上次更新:2013-6-6-我会尝试。。。我想不会痛的。非常感谢。我之所以不愿意使用未更新的插件,是因为我担心它们与下一次主要的WP升级不兼容,而perhas开发人员正朝着更大更好的方向发展。每次WP改变时修改插件一定很痛苦。啊,是的,对不起。我没看到。我会尝试一下。。。您仍然可以尝试。@alpipego您是否介意解释如何使用高级自定义字段设置默认屏幕选项?请注意,这仅适用于新用户或尚未对其屏幕选项进行任何自定义的用户;也许如果你遇到这个问题?
function get_hidden_meta_boxes( $screen ) {
    $hidden = get_user_option( "metaboxhidden_{$screen->id}" );
    if ( $use_defaults ) {
        $hidden = apply_filters( 'default_hidden_meta_boxes', $hidden, $screen );
    }
    return apply_filters( 'hidden_meta_boxes', $hidden, $screen, $use_defaults );
}
add_filter( 'default_hidden_meta_boxes', 'show_author_metabox', 10, 2 );
function show_author_metabox( $hidden, $screen )
{
    $authorkey = array_search( 'authordiv', $hidden );
    unset( $hidden[ $authorkey ] );

    return $hidden;
}