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