PATH:
home
/
carfac
/
.trash
/
wp-statistics
/
src
/
Service
/
Admin
/
Metabox
<?php namespace WP_Statistics\Service\Admin\Metabox; use WP_Screen; use WP_Statistics\Core\CoreFactory; class MetaboxManager { public function __construct() { add_action('admin_init', [$this, 'registerMetaboxes']); add_action('admin_init', [$this, 'hideDashboardMetaboxes']); } /** * Registers active metaboxes. * * @return void */ public function registerMetaboxes() { $metaboxes = MetaboxHelper::getActiveMetaboxes(); foreach ($metaboxes as $metabox) { $metabox->register(); } } /** * Hides default dashboard metaboxes for the current user on fresh installs. * * Hooked into 'admin_init'. Runs only once on fresh installs. * Excludes the 'wp-statistics-quickstats-widget' from being hidden. * * @return void */ public function hideDashboardMetaboxes() { $userId = get_current_user_id(); $hiddenMetaboxesKey = 'metaboxhidden_dashboard'; $metaboxInitFlagKey = 'wp_statistics_metaboxhidden_dashboard_initialized'; if (get_user_meta($userId, $metaboxInitFlagKey, true)) { return; } if (!CoreFactory::isFresh() && get_user_meta($userId, $hiddenMetaboxesKey, true)) { return; } $hidden = []; $metaboxes = MetaboxHelper::getActiveMetaboxes(); foreach ($metaboxes as $metabox) { $key = $metabox->getKey(); if ($key === 'wp-statistics-quickstats-widget') { continue; } $hidden[] = $key; } if (empty($hidden)) { return; } $existingHidden = get_user_meta($userId, $hiddenMetaboxesKey, true); if (!is_array($existingHidden)) { update_user_meta($userId, $hiddenMetaboxesKey, $hidden); } elseif (array_diff($hidden, $existingHidden)) { $mergedHidden = array_unique(array_merge($existingHidden, $hidden)); update_user_meta($userId, $hiddenMetaboxesKey, $mergedHidden); } update_user_meta($userId, $metaboxInitFlagKey, 1); } }
[-] MetaboxDataProvider.php
[edit]
[-] MetaboxHelper.php
[edit]
[-] MetaboxManager.php
[edit]
[+]
..
[+]
Metaboxes