Я создал плагин для простого, чуть более удобного стиля администрирования для Wordpress.
Он опирается на 4 цвета, которые я настроил с помощью: root CSS. Теперь я бы хотел как-то контролировать эти цвета в интерфейсе. Я искал, но не могу найти решение, которое имеет смысл. Я тоже не слишком знаком с PHP. Это PHP файл:
<?php
/*
Plugin Name: Admin CSS
Description: Custom Admin style. Made by LOOT
Author: LOOT
Version: 1.1
Author URI: http://weareloot.com
*/
function admin_theme() {
wp_enqueue_style('admin_theme', plugins_url('adminstyle.css', __FILE__));
}
function topbarstyle() {
wp_enqueue_style('topbarstyle', plugins_url('topbarstyle.css', __FILE__));
}
add_action('admin_enqueue_scripts', 'admin_theme');
add_action('login_enqueue_scripts', 'admin_theme');
add_action('admin_enqueue_scripts', 'topbarstyle');
add_action('wp_head', 'topbarstyle' );
?>
Это CSS:
:root {
--color1: #f5f5f5;
--color2: #d8d7da;
--color-accent: #2748f3;
--color-dark: #23282d;
}
body, td, textarea, input, select {
font-family: Helvetica;
font-size: 12px;
}
body.elementor-editor-active .edit-post-layout__content .edit-post-visual-editor {
background: var(--color1) !important;
}
body {
background: var(--color1) !important;
}
#wpcontent {
background: var(--color1);
}
/*Admin menu Left*/
#adminmenu a {
color: var(--color-dark);
}
#adminmenu div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before {
color: var(--color2);
}
#adminmenu, #adminmenuback, #adminmenuwrap {
background: var(--color1);
border-right: 1px solid #dcdcdc;
}
#adminmenu .wp-has-current-submenu .wp-submenu {
background: var(--color1);
border-bottom: 1px solid #dcdcdc;
}
#adminmenu .wp-has-current-submenu .wp-submenu a:hover {
color: var(--color-accent);
}
#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #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:focus, #adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover {
color: var(--color1);
}
#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 {
opacity:0.5;
color: var(--color2);}
ul#adminmenu a.wp-has-current-submenu:after {
display:none;
}
#adminmenu a.menu-top:focus+.wp-submenu, .js #adminmenu .opensub .wp-submenu, .js #adminmenu .sub-open, .no-js li.wp-has-submenu:hover .wp-submenu{
border-radius: 5px !important;
}
/*Hover for active menu items */
#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
color: var(--color-accent);
}
#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub>a.menu-top, #adminmenu li>a.menu-top:focus {
color: var(--color2);
background: transparent;
}
#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu .wp-has-current-submenu div.wp-menu-image:before , #adminmenu .wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before
{color: var(--color-accent) !important;}
#adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu.sub-open, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, #adminmenu a.wp-has-current-submenu:focus+.wp-submenu, .no-js li.wp-has-current-submenu:hover .wp-submenu {
background-color: transparent !important;
}
/*Sub Menu Hover*/
#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
{color: var(--color-accent);}
#adminmenu .wp-submenu a:focus, #adminmenu .wp-submenu a:hover, #adminmenu a:hover, #adminmenu li.menu-top>a:focus {color: var(--color-accent);}
#adminmenu .wp-submenu a {color: var(--color-dark);}
#adminmenu .wp-submenu a:hover {
color: var(--color-accent);
}
#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu {
color: var(--color-accent);
background: var(--color1);
}
#adminmenu .wp-submenu li.current a:hover {
color: var(--color-dark);
}
#adminmenu a.menu-top {
font-size:14px;
}
#collapse-button:focus, #collapse-button:hover {
color: var(--color-accent);
}
#collapse-button .collapse-button-label {
top: 10px;
}
#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after {display:none;}
/* Pop up menu*/
#adminmenu .wp-submenu, .folded #adminmenu .wp-has-current-submenu .wp-submenu, .folded #adminmenu a.wp-has-current-submenu:focus+.wp-submenu {
background: var(--color1);
}
#adminmenu .wp-not-current-submenu .wp-submenu {
margin-left:-10px;
}
/* Buttons and Links */
.wp-core-ui .button-primary, .wp-core-ui .button-primary.disabled {
background: var(--color2) !important;
border-color: var(--color2) !important;
color: var(--color-dark) !important;
-webkit-transition-duration: 100ms;
-moz-transition-duration: 100ms;
-o-transition-duration: 100ms;
transition-duration: 100ms;
}
.wp-core-ui .button-primary:focus, .wp-core-ui .button-primary:hover{
background: var(--color-accent) !important;
border-color: var(--color-accent) !important;
color: var(--color1) !important;
-webkit-transition-duration: 100ms;
-moz-transition-duration: 100ms;
-o-transition-duration: 100ms;
transition-duration: 100ms;
}
.wp-core-ui .button-link {
color: var(--color-accent);
}
.wp-core-ui .button-link:hover {
color: var(--color-accent);
opacity:0.8;
}
.wp-core-ui .button-primary:focus {
box-shadow: 0 0 0 1px #fff, 0 0 0 3px #acf;
}
a {
color: var(--color-accent);
}
a:active, a:focus, a:hover {
color: var(--color-accent);
transition-duration: 200ms;
transition-timing-function: ease-in-out;
}
.wp-core-ui .button, .wp-core-ui .button-secondary {
border-color: var(--color-accent);
}
.wp-core-ui .button:hover, .wp-core-ui .button-secondary:hover, .wrap .add-new-h2:hover, .wrap .page-title-action:hover {
border-color: var(--color-accent);
color: var(--color-accent);
opacity:0.8;
}
/*Inputs*/
input[type=checkbox]:checked::before {
margin: 7px 0px 0px -4px;
font-size: 13px;
content: "●";
color: var(--color-accent);
}
input[type=checkbox]:focus, input[type=number]:focus, #screen-meta-links .show-settings:focus {
border-color: var(--color-accent);
box-shadow: 0 0 3px var(--color-accent);
}
/*Page Content*/
.wrap .page-title-action {
border: 1px solid #e2e2e2;
color: var(--color-dark);
}
.wrap {
margin: 30px 20px 0px 30px;
}
.postbox {
border-radius: 4px;
}
#post-status-info {
border-radius: 0px 0px 4px 4px;
}
#wp-content-editor-tools, #major-publishing-actions {
background-color: transparent;
}
#edit-slug-box {
padding: 0px;
}
.wp-editor-expand #wp-content-editor-tools {
border:none;
}
table.widefat {
background: transparent;
border-radius: 5px;
}
.plugins tr {
background: transparent
}
#footer-thankyou {
display:none;
}
.plugin-update-tr.active td, .plugins .active th.check-column {
border:none;
}
/* Page title*/
.editor-post-title__block .editor-post-title__input {font-family: Helvetica, sans-serif;}
.edit-post-visual-editor .editor-post-title__block {margin-left:inherit;}
.block-editor-block-list__layout {font-family: Helvetica, sans-serif;}
/* Page buttons*/
.edit-post-header .components-button.editor-post-switch-to-draft, .components-button.is-link
{color:var(--color-accent)}
.components-button.is-default
{color:var(--color-accent); border-color:var(--color-accent);}
.components-button.is-primary {
background: var(--color-accent);
border-color: var(--color-accent);
}
.components-button.is-primary:hover {
opacity: 0.9;
background: var(--color-accent) !important;
border-color: var(--color-accent) !important;
color: var(--color1) !important;
}
.components-button.is-secondary, .components-button.is-secondary:not(:disabled):not([aria-disabled=true]):hover {
color: var(--color-accent);
border: 1px solid var(--color-accent);
background: var(--color1);
}
.components-button.is-tertiary {
color: var(--color-accent);
}
.components-button.is-primary:focus:enabled, .components-button.is-primary:not(:disabled):not([aria-disabled=true]):hover {
box-shadow: 0 0 0 1px #fff, 0 0 0 3px var(--color-accent);
background: var(--color-accent);
border-color: var(--color-accent);
}
.edit-post-header .components-button.editor-post-switch-to-draft:hover, .components-button.is-link:hover {opacity: 0.7; color: var(--color-accent) !important;}
.components-button.is-default:hover {opacity: 0.7;color:var(--color-accent); border-color:var(--color-accent);}
.edit-post-sidebar__panel-tab.is-active { box-shadow: inset 0 -3px var(--color-accent);}
/*Page Sidebar*/
.components-button.edit-post-sidebar__panel-tab.is-active {
box-shadow: inset 0 -3px var(--color-accent);
}
/*notifications*/
.notice-success.notice-alt, .notice p, div.updated {
background-color: var(--color-2);
border-radius: 15px;
border: none;
}
.notice-warning.notice-alt {
background-color: var(--color2);
border: none;
border-radius: 100px;
}
.wp-core-ui .notice.is-dismissible {
border: none;
background: var(--color2);
border-radius: 15px;
}
#template .notice {
border-radius: 15px;
border:none;
}
.notice-info {
border-left-color: var(--color-accent);
}
/*Login*/
.login h1 a {
background-image:none,url(https://lofo.london/wp-content/uploads/2019/11/Favicon.png)!important;
}
.login #login_error,.login .message,.login .success {
border:none!important;
border-radius:25px;
text-align:center;
}
.login #backtoblog a:hover,.login #nav a:hover,.login h1 a:hover {
color: var(--color-accent) !important;
}
.login #backtoblog,.login #nav {
text-align:center;
}
.login form {
border-radius:10px;
}
.wp-core-ui .button-primary {
background: var(--color2) !important;
color: var(--color-dark) !important;
border-color: var(--color2) !important;
}
.wp-core-ui .button,.wp-core-ui .button-secondary {
color: var(--color-dark) !important;
}
input:focus {
box-shadow:0 0 0 1px #0a0a0a;
border: none;
}
/* Icons */
.wp-admin #wpadminbar #wp-admin-bar-site-name>.ab-item:before {
display:none;
}
И CSS для верхней панели администратора:
:root {
--color1: #f5f5f5;
--color2: #d8d7da;
--color-accent: #2748f3;
--color-dark: #23282d;
}
/* Admin Bar Top*/
#wpadminbar {
background: var(--color1);
border-bottom: 1px solid #dcdcdc;
}
#wpadminbar .ab-top-menu>li.hover>.ab-item, #wpadminbar.nojq .quicklinks .ab-top-menu>li>.ab-item:focus, #wpadminbar:not(.mobile) .ab-top-menu>li:hover>.ab-item, #wpadminbar:not(.mobile) .ab-top-menu>li>.ab-item:focus { background:var(--color2);
color: var(--color-accent);}
#wpadminbar a.ab-item, #wpadminbar .ab-icon:before, #wpadminbar>#wp-toolbar span.ab-label {color:var(--color-dark)}
#wpadminbar .quicklinks .ab-sub-wrapper .menupop.hover>a, #wpadminbar .quicklinks .menupop ul li a:focus, #wpadminbar .quicklinks .menupop ul li a:focus strong, #wpadminbar .quicklinks .menupop ul li a:hover, #wpadminbar .quicklinks .menupop ul li a:hover strong, #wpadminbar .quicklinks .menupop.hover ul li a:focus, #wpadminbar .quicklinks .menupop.hover ul li a:hover, #wpadminbar li #adminbarsearch.adminbar-focused:before, #wpadminbar li .ab-item:focus .ab-icon:before, #wpadminbar li .ab-item:focus:before, #wpadminbar li a:focus .ab-icon:before, #wpadminbar li.hover .ab-icon:before, #wpadminbar li.hover .ab-item:before, #wpadminbar li:hover #adminbarsearch:before, #wpadminbar li:hover .ab-icon:before, #wpadminbar li:hover .ab-item:before, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:focus, #wpadminbar.nojs .quicklinks .menupop:hover ul li a:hover, #wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label, #wpadminbar:not(.mobile)>#wp-toolbar a:focus span.ab-label, #wpadminbar:not(.mobile)>#wp-toolbar li:hover span.ab-label, #wpadminbar>#wp-toolbar li.hover span.ab-label {
color: var(--color-accent);
}
#wpadminbar .menupop .ab-sub-wrapper {
background: var(--color1);
margin-top: 5px;
border-radius: 5px;
}
#wpadminbar .quicklinks .menupop ul li .ab-item, #wpadminbar .quicklinks .menupop ul li a strong, #wpadminbar .quicklinks .menupop.hover ul li .ab-item, #wpadminbar .shortlink-input, #wpadminbar.nojs .quicklinks .menupop:hover ul li .ab-item{
color: var(--color-dark);
}
#wpadminbar #adminbarsearch:before, #wpadminbar .ab-icon:before, #wpadminbar .ab-item:before {color: var(--color2);}
.ab-item:hover
{color:var(--color2);}
#wpadminbar .quicklinks li#wp-admin-bar-my-account.with-avatar>a img, #wp-admin-bar-user-info .avatar {
border-radius:25px;
}
#wp-admin-bar-rank-math:hover .rank-math-icon svg {fill:var(--color-accent);}
#wp-admin-bar-elementor_edit_page .elementor-edit-link-type {background:var(--color2);}
/*Hide items from top bar*/
#wp-admin-bar-comments
{display:none;}
#wp-admin-bar-wp-logo {
display: none;
}
#adminmenu a {
color: var(--color-dark);
}
#adminmenu div.wp-menu-image:before, #adminmenu li:hover div.wp-menu-image:before, #adminmenu li a:focus div.wp-menu-image:before {
color: var(--color2);
}
#adminmenu, #adminmenuback, #adminmenuwrap {
background: var(--color1);
border-right: 1px solid #dcdcdc;
}
#adminmenu .wp-has-current-submenu .wp-submenu {
background: var(--color1);
border-bottom: 1px solid #dcdcdc;
}
#adminmenu .wp-has-current-submenu .wp-submenu a:hover {
color: var(--color-accent);
}
#adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:focus, #adminmenu .wp-has-current-submenu.opensub .wp-submenu li.current a:hover, #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:focus, #adminmenu a.wp-has-current-submenu:focus+.wp-submenu li.current a:hover {
color: var(--color1);
}
#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 {
opacity:0.5;
color: var(--color2);}
ul#adminmenu a.wp-has-current-submenu:after {
display:none;
}
#adminmenu a.menu-top:focus+.wp-submenu, .js #adminmenu .opensub .wp-submenu, .js #adminmenu .sub-open, .no-js li.wp-has-submenu:hover .wp-submenu{
border-radius: 5px !important;
}
/*Hover for active menu items */
#adminmenu li.wp-has-current-submenu div.wp-menu-image:before {
color: var(--color-accent);
}
#adminmenu a:hover, #adminmenu li.menu-top:hover, #adminmenu li.opensub>a.menu-top, #adminmenu li>a.menu-top:focus {
color: var(--color2);
background: transparent;
}
#adminmenu li.wp-has-current-submenu a:focus div.wp-menu-image:before, #adminmenu .wp-has-current-submenu div.wp-menu-image:before , #adminmenu .wp-has-current-submenu div.wp-menu-image:before, #adminmenu a.wp-has-current-submenu:hover div.wp-menu-image:before
{color: var(--color-accent) !important;}
#adminmenu .wp-has-current-submenu .wp-submenu, #adminmenu .wp-has-current-submenu .wp-submenu.sub-open, #adminmenu .wp-has-current-submenu.opensub .wp-submenu, #adminmenu a.wp-has-current-submenu:focus+.wp-submenu, .no-js li.wp-has-current-submenu:hover .wp-submenu {
background-color: transparent !important;
}
/*Sub Menu Hover*/
#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
{color: var(--color-accent);}
#adminmenu .wp-submenu a {color: var(--color-dark);}
#adminmenu .wp-submenu a:hover {
color: var(--color-accent);
}
#adminmenu li.wp-has-current-submenu a.wp-has-current-submenu {
color: var(--color-accent);
background: var(--color1);
}
#adminmenu .wp-submenu li.current a:hover {
color: var(--color-dark);
}
#adminmenu a.menu-top {
font-size:14px;
}
#collapse-button:focus, #collapse-button:hover {
color: var(--color-accent);
}
#collapse-button .collapse-button-label {
top: 10px;
}
#adminmenu li.wp-has-submenu.wp-not-current-submenu:hover:after {display:none;}
Есть идеи? Вы можете с радостью использовать стили в любом месте на своих сайтах WP.