当您在仪表板中时,“屏幕选项”窗格中选中和取消选中的选项在我看来是完全随机和任意的,当您需要的东西没有显示时,会造成很多混乱,而“应该”在那里,但没有。是否有某种方法影响选中这些选项中的哪一个,并使其适用于所有用户?
在“Screen Options”(屏幕选项)窗格中默认为所有用户选中项目
3 个回复
SO网友:mike23
此处可能已经回答:How to set default screen options?
SO网友:brasofilo
mike23的链接提示以下函数:
// add_action(\'user_register\', \'wpse20505_set_user_metaboxes\');
add_action(\'admin_init\', \'wpse20505_set_user_metaboxes\');
function wpse20505_set_user_metaboxes($user_id=NULL) {
$meta_key[\'hidden\'] = \'metaboxhidden_dashboard\';
$meta_value = array(
\'dashboard_incoming_links\',
\'dashboard_plugins\',
\'dashboard_primary\',
\'dashboard_quick_press\',
\'dashboard_recent_comments\',
\'dashboard_recent_drafts\',
\'dashboard_right_now\',
\'dashboard_secondary\'
);
$blogusers = get_users(\'blog_id=1\');
foreach ($blogusers as $user) {
// this conditional will check if the user already set his preferences and may be removed if wanted
if ( ! get_user_meta( $user->ID, $meta_key[\'hidden\'], true) ) {
update_user_meta( $user->ID, $meta_key[\'hidden\'], $meta_value );
}
}
}
Theadmin_init
只需运行一次,然后user_register
可以启用以配置新用户的仪表板。这个meta_value
数组包含所有小部件,可以根据您的需要进行自定义。
SO网友:Vijaya Narayanasamy
1) 复制此代码并将其粘贴到编辑器中,然后将其另存为enable_custom_field.php. 然后,创建一个名为“”的文件夹Enable Custom Field By Default“然后将该PHP文件放在这个文件夹中。就像这样,您使用自己的插件创建。只需将该文件夹放在插件文件夹中,并在您的管理页面中激活它即可。
<?php
/*
Plugin Name: Enable Custom Fields per Default
Version: 1.0
Required: 3.1
Author: Thomas Scholz
Author URI: http://toscho.de
License: GPL
*/
! defined( \'ABSPATH\' ) and exit;
add_filter( \'default_hidden_meta_boxes\', \'enable_custom_fields_per_default\', 20, 1 );
/**
* Removes custom fields from the default hidden elements.
*
* The original ( wp-admin/includes/template.php#get_hidden_meta_boxes() ):
* array(
* \'slugdiv\',
* \'trackbacksdiv\',
* \'postcustom\', <-- we need this
* \'postexcerpt\',
* \'commentstatusdiv\',
* \'commentsdiv\',
* \'authordiv\',
* \'revisionsdiv\'
* )
*
* It has no effect if the user has decided to hide the box.
* This option is saved in "metaboxhidden_{$screen->id}"
*
* @param array $hidden
* @return array $hidden
*/
function enable_custom_fields_per_default( $hidden )
{
foreach ( $hidden as $i => $metabox )
{
if ( \'postcustom\' == $metabox )
{
unset ( $hidden[$i] );
}
}
return $hidden;
}
?>
2)我通过在我的管理页面中创建新用户并使用该用户登录,尝试了这一方法。自定义字段位于我的页面的编辑部分。它很有魅力。结束