plugin_name);
define('WP_ADMINIFY_VERSION', $wp_adminify->version);
define('WP_ADMINIFY_PLUGIN_URL', $wp_adminify->wp_adminify_plugin_url());
define('WP_ADMINIFY_PLUGIN_DIR', $wp_adminify->wp_adminify_plugin_path());
define('WP_ADMINIFY_PLUGIN_DIR_URL', $wp_adminify->wp_adminify_plugin_dir_url());
define('WP_ADMINIFY_IMAGE_DIR', $wp_adminify->wp_adminify_plugin_dir_url() . '/assets/images/');
define('WP_ADMINIFY_TD', $wp_adminify->wp_adminify_load_textdomain()); // WP Adminify Text Domain
define('WP_ADMINIFY_FILE', __FILE__);
define('WP_ADMINIFY_DIR', dirname(__FILE__));
class WP_Adminify
{
/* Variables */
public $version = '1.0.0';
public $author = "Liton Arefin";
private $plugin_path;
private $plugin_url;
private $plugin_slug;
public $plugin_dir_url;
public $plugin_name = 'WP Adminify';
private static $instance;
/* Initialize */
public static function init()
{
if (null === self::$instance) {
self::$instance = new WP_Adminify();
}
}
/* Construction Function */
public function __construct()
{
$this->plugin_slug = 'wp-adminify';
$this->plugin_path = untrailingslashit(plugin_dir_path('/', __FILE__));
$this->plugin_url = untrailingslashit(plugins_url('/', __FILE__));
$this->wp_adminify_include_files();
$this->wp_adminify_define_admin_hooks();
}
/* Load Text Domain */
public function wp_adminify_load_textdomain()
{
load_plugin_textdomain('wp-adminify', false, dirname(plugin_basename(__FILE__)) . '/languages/');
}
// Require/Include files
public function wp_adminify_include_files()
{
include_once('inc/class.settings-api.php');
include_once('inc/wp_adminify_settings.php');
}
// Hooks
public function wp_adminify_define_admin_hooks()
{
// Custom Fonts
// add_action('admin_head', array( $this, 'wp_adminify_custom_fonts') );
// Login Customization
add_action('login_enqueue_scripts', array($this, 'wp_adminify_login_theme_style'));
add_filter('login_headerurl', array($this, 'wp_adminify_url_login_logo'));
//* Login Screen: Change login logo hover text
add_filter('login_headertext', array($this, 'wp_adminify_login_logo_url_title'));
//* Login Screen: Don't inform user which piece of credential was incorrect
add_filter('login_errors', array($this, 'wp_adminify_failed_login'));
//* Login Screen: Set 'remember me' to be checked
add_action('init', array($this, 'wp_adminify_login_checked_remember_me'));
add_action('admin_enqueue_scripts', array($this, 'wp_adminify_admin_bar_theme_style'));
add_action('admin_enqueue_scripts', array($this, 'wp_adminify_admin_theme_style'));
add_theme_support('admin-bar', array('callback' => 'wp_adminify_admin_bar_style'));
add_filter('admin_footer_text', array($this, 'wp_adminify_swap_footer_admin'));
//Customization's
//hook to admin
// add_action( 'admin_menu', array( $this, 'wp_adminify_removemenu_admin' ) );
//remove dashboard widgets
// add_action('wp_dashboard_setup', array( $this, 'wp_adminify_remove_dashboard_widgets' ) );
//remove default widgets
// add_action('widgets_init', array( $this, 'wp_adminify_remove_default_wp_widgets', 1));
// Remove Menu Items
// add_action('admin_menu', array( $this, 'wp_adminify_remove_menu_items'));
//remove sub menu's
// add_action('admin_menu', array( $this, 'wp_adminify_remove_submenus'));
// remove editor menu
// add_action('_admin_menu', array( $this, 'wp_adminify_remove_editor_menu', 1) );
//Disable Meta Boxes in the Editing Pages
// add_action('admin_init', array( $this, 'wp_adminify_customize_meta_boxes') );
// Remove Post/Pages Comments Columns Count
// add_filter('manage_posts_columns', array( $this, 'wp_adminify_custom_post_columns'));
// add_filter('manage_pages_columns', array( $this, 'wp_adminify_custom_pages_columns'));
//Hide the Upgrade Notice to Recent Version
// add_filter( 'pre_site_transient_update_core', create_function( '$a', "return null;" ) );
//Change Howdy Text
add_filter('gettext', array($this, 'wp_adminify_change_howdy'), 10, 3);
// Add Plugin Info Dashboard Info
add_action('wp_dashboard_setup', array($this, 'wp_adminify_add_dashboard_widgets'));
// Personalize Admin Loggein message
add_action('wp_head', array($this, 'wp_adminify_personal_message_when_logged_in'));
//Remove Frontend Admin ToolBar
// add_filter( 'show_admin_bar', array( $this, 'wp_adminify_remove_toolbar_frontend' ) );
//Remove Backend Admin ToolBar
// add_action('admin_head', array( $this, 'wp_adminify_remove_admin_from_dashboard' ) );
}
public function wp_adminify_remove_admin_from_dashboard()
{
echo '';
}
public function wp_adminify_remove_toolbar_frontend()
{
return false;
}
public function wp_adminify_personal_message_when_logged_in()
{
if (is_user_logged_in()) :
$current_user = wp_get_current_user();
echo '
';
echo 'Hi there ' . $current_user->user_firstname . '!';
echo '
';
else :
echo 'Hello, new visitor!';
endif;
}
public function wp_adminify_failed_login()
{
return 'The login information you have entered is incorrect. Please try again.';
}
public function wp_adminify_login_checked_remember_me()
{
add_filter('login_footer', array($this, 'wp_adminify_rememberme_checked'));
}
public function wp_adminify_rememberme_checked()
{
echo "";
}
public function wp_adminify_login_logo_url_title()
{
return 'REPLACE THIS WITH YOUR TEXT';
}
//* Add theme info box into WordPress Dashboard
public function wp_adminify_add_dashboard_widgets()
{
wp_add_dashboard_widget('wp_dashboard_widget', 'Theme Details', array($this, 'wp_adminify_plugin_info'));
}
public function wp_adminify_plugin_info()
{
echo "";
}
public function wp_adminify_change_howdy($translated, $text, $domain)
{
if (!is_admin() || 'default' != $domain)
return $translated;
if (false !== strpos($translated, 'Howdy'))
return str_replace('Howdy', 'Welcome', $translated);
return $translated;
}
public function wp_adminify_url_login_logo()
{
return site_url('/');
}
public function wp_adminify_custom_post_columns($defaults)
{
unset($defaults['comments']);
return $defaults;
}
public function wp_adminify_custom_pages_columns($defaults)
{
unset($defaults['comments']);
return $defaults;
}
public function wp_adminify_customize_meta_boxes()
{
/* Removes meta boxes from Posts */
remove_meta_box('postcustom', 'post', 'normal');
remove_meta_box('trackbacksdiv', 'post', 'normal');
remove_meta_box('commentstatusdiv', 'post', 'normal');
remove_meta_box('commentsdiv', 'post', 'normal');
remove_meta_box('tagsdiv-post_tag', 'post', 'normal');
remove_meta_box('postexcerpt', 'post', 'normal');
/* Removes meta boxes from pages */
remove_meta_box('postcustom', 'page', 'normal');
remove_meta_box('trackbacksdiv', 'page', 'normal');
remove_meta_box('commentstatusdiv', 'page', 'normal');
remove_meta_box('commentsdiv', 'page', 'normal');
}
public function wp_adminify_remove_editor_menu()
{
remove_action('admin_menu', '_add_themes_utility_last', 101);
}
public function wp_adminify_remove_submenus()
{
global $submenu;
unset($submenu['index.php'][10]); // Removes 'Updates'.
unset($submenu['themes.php'][5]); // Removes 'Themes'.
unset($submenu['options-general.php'][15]); // Removes 'Writing'.
unset($submenu['options-general.php'][25]); // Removes 'Discussion'.
unset($submenu['edit.php'][16]); // Removes 'Tags'.
}
public function wp_adminify_remove_menu_items()
{
global $menu;
$restricted = array(
__('Links'), __('Comments'), __('Media'),
__('Plugins'), __('Tools'), __('Users')
);
end($menu);
while (prev($menu)) {
$value = explode(' ', $menu[key($menu)][0]);
if (in_array($value[0] != NULL ? $value[0] : "", $restricted)) {
unset($menu[key($menu)]);
}
}
}
public function wp_adminify_remove_default_wp_widgets()
{
unregister_widget('WP_Widget_Calendar');
unregister_widget('WP_Widget_Search');
unregister_widget('WP_Widget_Recent_Comments');
}
public function wp_adminify_removemenu_admin()
{
remove_menu_page('edit.php?post_type=Books'); // to remove access to the custom post type books
// say we want to remove only the add new option for books then write the following
remove_submenu_page('edit.php?post_type=Books', 'post-new.php?post_type=Books');
}
function wp_adminify_remove_dashboard_widgets()
{
global $wp_meta_boxes;
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_plugins']);
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_recent_comments']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_primary']);
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_incoming_links']);
unset($wp_meta_boxes['dashboard']['normal']['core']['dashboard_right_now']);
unset($wp_meta_boxes['dashboard']['side']['core']['dashboard_secondary']);
}
/*
* Plugin URL
*/
public function wp_adminify_plugin_url()
{
if ($this->plugin_url) return $this->plugin_url;
return $this->plugin_url = untrailingslashit(plugins_url('/', __FILE__));
}
/*
* Plugin Directory Path
*/
public function wp_adminify_plugin_path()
{
if ($this->plugin_path) return $this->plugin_path;
return $this->plugin_path = untrailingslashit(plugin_dir_path(__FILE__));
}
/*
* Plugin Directory URL
*/
public function wp_adminify_plugin_dir_url()
{
if ($this->plugin_dir_url) return $this->plugin_dir_url;
return $this->plugin_dir_url = untrailingslashit(plugin_dir_url(__FILE__));
}
public function wp_adminify_custom_fonts()
{
echo '';
}
// Jewel Theme Basix Admin UI Options
public function jt_option($option, $section, $default = '')
{
$options = get_option($section);
if (isset($options[$option])) {
return $options[$option];
}
return $default;
}
public function wp_adminify_login_theme_style()
{
$wp_adminify_primary_color = $this->jt_option('wp_adminify_primary_color', 'wp_adminify_colors', '#8641c0');
$wp_adminify_secondary_color = $this->jt_option('wp_adminify_secondary_color', 'wp_adminify_colors', '#2581bf');
if ($wp_adminify_primary_color != "") :
$wp_adminify_primary = $wp_adminify_primary_color;
else :
$wp_adminify_primary = "#8641c0";
endif;
if ($wp_adminify_secondary_color != "") :
$wp_adminify_secondary = $wp_adminify_secondary_color;
else :
$wp_adminify_secondary = "#2581bf";
endif;
wp_enqueue_style('wp_adminify-login-style', plugins_url() . '/wp-adminify/css/wp_adminify_styles_login.css');
$login_css = "
body, html {
background: {$wp_adminify_primary};
}
";
wp_add_inline_style('wp_adminify-login-style', $login_css);
?>
jt_option('wp_adminify_primary_color', 'wp_adminify_colors', '#8641c0');
$wp_adminify_secondary_color = $this->jt_option('wp_adminify_secondary_color', 'wp_adminify_colors', '#2581bf');
if ($wp_adminify_primary_color != "") :
$wp_adminify_primary = $wp_adminify_primary_color;
else :
$wp_adminify_primary = "#8641c0";
endif;
if ($wp_adminify_secondary_color != "") :
$wp_adminify_secondary = $wp_adminify_secondary_color;
else :
$wp_adminify_secondary = "#2581bf";
endif;
wp_enqueue_style('wp_adminify-admin-bar-style', plugins_url() . '/wp-adminify/css/wp_adminify_styles_adminbar.css');
$admin_bar_css = "
#wpadminbar {
background: {$wp_adminify_primary};
}
#wpadminbar .menupop .ab-sub-wrapper,#wpadminbar .shortlink-input {
background: {$wp_adminify_primary};
}
";
wp_add_inline_style('wp_adminify-admin-bar-style', $admin_bar_css);
}
public function wp_adminify_admin_theme_style()
{
$wp_adminify_primary_color = $this->jt_option('wp_adminify_primary_color', 'wp_adminify_colors', '#8641c0');
$wp_adminify_secondary_color = $this->jt_option('wp_adminify_secondary_color', 'wp_adminify_colors', '#2581bf');
$wp_adminify_menu_bg_color = $this->jt_option('wp_adminify_menu_bg_color', 'wp_adminify_colors', '#2581bf');
$wp_adminify_menu_text_color = $this->jt_option('wp_adminify_menu_text_color', 'wp_adminify_colors', '#666');
if ($wp_adminify_primary_color != "") :
$wp_adminify_primary = $wp_adminify_primary_color;
else :
$wp_adminify_primary = "#8641c0";
endif;
if ($wp_adminify_secondary_color != "") :
$wp_adminify_secondary = $wp_adminify_secondary_color;
else :
$wp_adminify_secondary = "#2581bf";
endif;
wp_enqueue_style('wp_adminify-admin-style', plugins_url() . '/wp-adminify/css/wp_adminify_styles_admin.css');
$admin_css = "
a,
input[type=checkbox]:checked:before,
.view-switch a.current:before {
color: {$wp_adminify_primary}
}
a:hover {
color: {$wp_adminify_secondary}
}
#adminmenu{
background: {$wp_adminify_menu_bg_color};
}
#adminmenu div.wp-menu-name, #adminmenu div.wp-menu-image:before{
color: {$wp_adminify_menu_text_color};
}
#adminmenu li a:focus div.wp-menu-image:before,#adminmenu li.opensub div.wp-menu-image:before,#adminmenu li:hover div.wp-menu-image:before {
color: {$wp_adminify_primary}!important;
}
#adminmenu .wp-has-current-submenu .wp-submenu .wp-submenu-head,#adminmenu .wp-menu-arrow,#adminmenu .wp-menu-arrow div,#adminmenu li.current a.menu-top,#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu,.folded #adminmenu li.current.menu-top,.folded #adminmenu li.wp-has-current-submenu,/* Hover actions */
#adminmenu li.menu-top:hover,#adminmenu li.opensub>a.menu-top,#adminmenu li>a.menu-top:focus {
background: {$wp_adminify_primary};
background:#FFF
}
#adminmenu .opensub .wp-submenu li.current a,#adminmenu .wp-submenu li.current,#adminmenu .wp-submenu li.current a,#adminmenu .wp-submenu li.current a:focus,#adminmenu .wp-submenu li.current a:hover,#adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a,#adminmenu .wp-submenu .wp-submenu-head,/* Dashicons */
#adminmenu .current div.wp-menu-image:before,#adminmenu .wp-has-current-submenu div.wp-menu-image:before,#adminmenu a.current:hover div.wp-menu-image:before,#adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before,#adminmenu li.wp-has-current-submenu:hover div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before {
color: {$wp_adminify_primary}
}
#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu div.wp-menu-name {
color: {$wp_adminify_primary}
}
.wrap .add-new-h2,.wrap .add-new-h2:active {
background: {$wp_adminify_primary};
}
.wrap .add-new-h2:hover {
background: {$wp_adminify_secondary}
}
div.updated {
border-left: 5px solid {$wp_adminify_primary};
}
#adminmenu li a.wp-has-current-submenu .update-plugins,
#adminmenu li.current a .awaiting-mod {
background-color: {$wp_adminify_primary};
}
.wp-core-ui .button:hover,.wp-core-ui .button-secondary:hover,.wp-core-ui .button-primary {
background: {$wp_adminify_primary};
}
.wp-core-ui .button-primary.focus, .wp-core-ui .button-primary.hover, .wp-core-ui .button-primary:focus, .wp-core-ui .button-primary:hover {
background: {$wp_adminify_secondary};
}
.composer-switch a,.composer-switch a:visited,.composer-switch a.wpb_switch-to-front-composer,.composer-switch a:visited.wpb_switch-to-front-composer,.composer-switch .logo-icon {
background-color: {$wp_adminify_primary}!important
}
.composer-switch .vc-spacer, .composer-switch a.wpb_switch-to-composer:hover, .composer-switch a:visited.wpb_switch-to-composer:hover, .composer-switch a.wpb_switch-to-front-composer:hover, .composer-switch a:visited.wpb_switch-to-front-composer:hover {
background-color: {$wp_adminify_secondary}!important
}
";
wp_add_inline_style('wp_adminify-admin-style', $admin_css);
}
// Update Admin Footer
public function wp_adminify_swap_footer_admin()
{
echo WP_ADMINIFY . ' by Liton Arefin | Powered by Wordpress';
}
// Remove default HTML height on the admin bar callback
public function wp_adminify_admin_bar_style()
{
if (is_admin_bar_showing()) {
?>