mirror of
https://ghproxy.net/https://github.com/AlxMedia/shapebox.git
synced 2025-08-26 16:35:56 +08:00
211 lines
12 KiB
PHP
211 lines
12 KiB
PHP
<?php
|
|
/* ------------------------------------------------------------------------- *
|
|
* Dynamic styles
|
|
/* ------------------------------------------------------------------------- */
|
|
|
|
/* Convert hexadecimal to rgb
|
|
/* ------------------------------------ */
|
|
if ( ! function_exists( 'shapebox_hex2rgb' ) ) {
|
|
|
|
function shapebox_hex2rgb( $hex, $array=false ) {
|
|
$hex = str_replace("#", "", $hex);
|
|
|
|
if ( strlen($hex) == 3 ) {
|
|
$r = hexdec(substr($hex,0,1).substr($hex,0,1));
|
|
$g = hexdec(substr($hex,1,1).substr($hex,1,1));
|
|
$b = hexdec(substr($hex,2,1).substr($hex,2,1));
|
|
} else {
|
|
$r = hexdec(substr($hex,0,2));
|
|
$g = hexdec(substr($hex,2,2));
|
|
$b = hexdec(substr($hex,4,2));
|
|
}
|
|
|
|
$rgb = array( $r, $g, $b );
|
|
if ( !$array ) { $rgb = implode(",", $rgb); }
|
|
return $rgb;
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/* Google fonts
|
|
/* ------------------------------------ */
|
|
if ( ! function_exists( 'shapebox_enqueue_google_fonts' ) ) {
|
|
|
|
function shapebox_enqueue_google_fonts () {
|
|
if ( get_theme_mod('dynamic-styles', 'on') == 'on' ) {
|
|
if ( get_theme_mod( 'font' ) == 'titillium-web-ext' ) { wp_enqueue_style( 'titillium-web-ext', '//fonts.googleapis.com/css?family=Titillium+Web:400,400italic,300italic,300,600&subset=latin,latin-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'droid-serif' ) { wp_enqueue_style( 'droid-serif', '//fonts.googleapis.com/css?family=Droid+Serif:400,400italic,700' ); }
|
|
if ( get_theme_mod( 'font' ) == 'source-sans-pro' ) { wp_enqueue_style( 'source-sans-pro', '//fonts.googleapis.com/css?family=Source+Sans+Pro:400,300italic,300,400italic,600&subset=latin,latin-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'lato' ) { wp_enqueue_style( 'lato', '//fonts.googleapis.com/css?family=Lato:400,300,300italic,400italic,700' ); }
|
|
if ( get_theme_mod( 'font' ) == 'raleway' ) { wp_enqueue_style( 'raleway', '//fonts.googleapis.com/css?family=Raleway:400,300,600' ); }
|
|
/*default*/ if ( ( get_theme_mod( 'font' ) == '' ) || ( get_theme_mod( 'font' ) == 'inter' ) ) { wp_enqueue_style( 'inter', '//fonts.googleapis.com/css?family=Inter:400,300,600,800' ); }
|
|
if ( get_theme_mod( 'font' ) == 'ubuntu' ) { wp_enqueue_style( 'ubuntu', '//fonts.googleapis.com/css?family=Ubuntu:400,400italic,300italic,300,700&subset=latin,latin-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'ubuntu-cyr' ) { wp_enqueue_style( 'ubuntu-cyr', '//fonts.googleapis.com/css?family=Ubuntu:400,400italic,300italic,300,700&subset=latin,cyrillic-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'roboto' ) { wp_enqueue_style( 'roboto', '//fonts.googleapis.com/css?family=Roboto:400,300italic,300,400italic,700&subset=latin,latin-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'roboto-cyr' ) { wp_enqueue_style( 'roboto-cyr', '//fonts.googleapis.com/css?family=Roboto:400,300italic,300,400italic,700&subset=latin,cyrillic-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'roboto-condensed' ) { wp_enqueue_style( 'roboto-condensed', '//fonts.googleapis.com/css?family=Roboto+Condensed:400,300italic,300,400italic,700&subset=latin,latin-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'roboto-condensed-cyr' ) { wp_enqueue_style( 'roboto-condensed-cyr', '//fonts.googleapis.com/css?family=Roboto+Condensed:400,300italic,300,400italic,700&subset=latin,cyrillic-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'roboto-slab' ) { wp_enqueue_style( 'roboto-slab', '//fonts.googleapis.com/css?family=Roboto+Slab:400,300italic,300,400italic,700&subset=latin,latin-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'roboto-slab-cyr' ) { wp_enqueue_style( 'roboto-slab-cyr', '//fonts.googleapis.com/css?family=Roboto+Slab:400,300italic,300,400italic,700&subset=latin,cyrillic-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'playfair-display' ) { wp_enqueue_style( 'playfair-display', '//fonts.googleapis.com/css?family=Playfair+Display:400,400italic,700&subset=latin,latin-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'playfair-display-cyr' ) { wp_enqueue_style( 'playfair-display-cyr', '//fonts.googleapis.com/css?family=Playfair+Display:400,400italic,700&subset=latin,cyrillic' ); }
|
|
if ( get_theme_mod( 'font' ) == 'open-sans' ) { wp_enqueue_style( 'open-sans', '//fonts.googleapis.com/css?family=Open+Sans:400,400italic,300italic,300,600&subset=latin,latin-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'open-sans-cyr' ) { wp_enqueue_style( 'open-sans-cyr', '//fonts.googleapis.com/css?family=Open+Sans:400,400italic,300italic,300,600&subset=latin,cyrillic-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'pt-serif' ) { wp_enqueue_style( 'pt-serif', '//fonts.googleapis.com/css?family=PT+Serif:400,700,400italic&subset=latin,latin-ext' ); }
|
|
if ( get_theme_mod( 'font' ) == 'pt-serif-cyr' ) { wp_enqueue_style( 'pt-serif-cyr', '//fonts.googleapis.com/css?family=PT+Serif:400,700,400italic&subset=latin,cyrillic-ext' ); }
|
|
}
|
|
}
|
|
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'shapebox_enqueue_google_fonts' );
|
|
|
|
|
|
/* Dynamic css output
|
|
/* ------------------------------------ */
|
|
if ( ! function_exists( 'shapebox_dynamic_css' ) ) {
|
|
|
|
function shapebox_dynamic_css() {
|
|
if ( get_theme_mod('dynamic-styles', 'on') == 'on' ) {
|
|
|
|
// rgb values
|
|
$color_1 = get_theme_mod('color-1');
|
|
$color_1_rgb = shapebox_hex2rgb($color_1);
|
|
|
|
// start output
|
|
$styles = '';
|
|
|
|
// google fonts
|
|
if ( get_theme_mod( 'font' ) == 'titillium-web-ext' ) { $styles .= 'body { font-family: "Titillium Web", Arial, sans-serif; }'."\n"; }
|
|
if ( get_theme_mod( 'font' ) == 'droid-serif' ) { $styles .= 'body { font-family: "Droid Serif", serif; }'."\n"; }
|
|
if ( get_theme_mod( 'font' ) == 'source-sans-pro' ) { $styles .= 'body { font-family: "Source Sans Pro", Arial, sans-serif; }'."\n"; }
|
|
if ( get_theme_mod( 'font' ) == 'lato' ) { $styles .= 'body { font-family: "Lato", Arial, sans-serif; }'."\n"; }
|
|
if ( get_theme_mod( 'font' ) == 'raleway' ) { $styles .= 'body { font-family: "Raleway", Arial, sans-serif; }'."\n"; }
|
|
/*default*/ if ( ( get_theme_mod( 'font' ) == '' ) || ( get_theme_mod( 'font' ) == 'inter' ) ) { $styles .= 'body { font-family: "Inter", Arial, sans-serif; }'."\n"; }
|
|
if ( ( get_theme_mod( 'font' ) == 'ubuntu' ) || ( get_theme_mod( 'font' ) == 'ubuntu-cyr' ) ) { $styles .= 'body { font-family: "Ubuntu", Arial, sans-serif; }'."\n"; }
|
|
if ( ( get_theme_mod( 'font' ) == 'roboto' ) || ( get_theme_mod( 'font' ) == 'roboto-cyr' ) ) { $styles .= 'body { font-family: "Roboto", Arial, sans-serif; }'."\n"; }
|
|
if ( ( get_theme_mod( 'font' ) == 'roboto-condensed' ) || ( get_theme_mod( 'font' ) == 'roboto-condensed-cyr' ) ) { $styles .= 'body { font-family: "Roboto Condensed", Arial, sans-serif; }'."\n"; }
|
|
if ( ( get_theme_mod( 'font' ) == 'roboto-slab' ) || ( get_theme_mod( 'font' ) == 'roboto-slab-cyr' ) ) { $styles .= 'body { font-family: "Roboto Slab", Arial, sans-serif; }'."\n"; }
|
|
if ( ( get_theme_mod( 'font' ) == 'playfair-display' ) || ( get_theme_mod( 'font' ) == 'playfair-display-cyr' ) ) { $styles .= 'body { font-family: "Playfair Display", Arial, sans-serif; }'."\n"; }
|
|
if ( ( get_theme_mod( 'font' ) == 'open-sans' ) || ( get_theme_mod( 'font' ) == 'open-sans-cyr' ) ) { $styles .= 'body { font-family: "Open Sans", Arial, sans-serif; }'."\n"; }
|
|
if ( ( get_theme_mod( 'font' ) == 'pt-serif' ) || ( get_theme_mod( 'font' ) == 'pt-serif-cyr' ) ) { $styles .= 'body { font-family: "PT Serif", serif; }'."\n"; }
|
|
if ( get_theme_mod( 'font' ) == 'arial' ) { $styles .= 'body { font-family: Arial, sans-serif; }'."\n"; }
|
|
if ( get_theme_mod( 'font' ) == 'georgia' ) { $styles .= 'body { font-family: Georgia, serif; }'."\n"; }
|
|
if ( get_theme_mod( 'font' ) == 'verdana' ) { $styles .= 'body { font-family: Verdana, sans-serif; }'."\n"; }
|
|
if ( get_theme_mod( 'font' ) == 'tahoma' ) { $styles .= 'body { font-family: Tahoma, sans-serif; }'."\n"; }
|
|
|
|
// container width
|
|
if ( get_theme_mod('container-width','1280') != '1280' ) {
|
|
if ( get_theme_mod( 'boxed' ) ) {
|
|
$styles .= '.boxed #wrapper { max-width: '.esc_attr( get_theme_mod('container-width') ).'px; }'."\n";
|
|
}
|
|
else {
|
|
$styles .= '#wrapper { max-width: '.esc_attr( get_theme_mod('container-width') ).'px; }'."\n";
|
|
}
|
|
}
|
|
// content max-width
|
|
if ( get_theme_mod('content-width','740') != '740' ) {
|
|
$styles .= '
|
|
.entry-header,
|
|
.entry-footer,
|
|
.entry > :not(.alignfull) { max-width: '.esc_attr( get_theme_mod('content-width') ).'px; }
|
|
'."\n";
|
|
}
|
|
// primary color
|
|
if ( get_theme_mod('color-1','#9754e9') != '#9754e9' ) {
|
|
$styles .= '
|
|
.entry a,
|
|
.blog-card-title a:hover,
|
|
.blog-card-category a,
|
|
.blog-card-comments:focus,
|
|
.blog-single-category a,
|
|
.related-title a:hover,
|
|
.sidebar .post-nav li a:hover span,
|
|
.widget a:hover,
|
|
.alx-tab .tab-item-category a,
|
|
.alx-posts .post-item-category a,
|
|
.alx-tab li:hover .tab-item-title a,
|
|
.alx-tab li:hover .tab-item-comment a,
|
|
.alx-posts li:hover .post-item-title a { color: '.esc_attr( get_theme_mod('color-1') ).'; }
|
|
|
|
.slick-featured .slick-dots .slick-active button { border-color: '.esc_attr( get_theme_mod('color-1') ).'; }
|
|
'."\n";
|
|
}
|
|
// gradient left
|
|
if ( get_theme_mod('gradient-left','#c14bff') != '#c14bff' ) {
|
|
$styles .= '
|
|
#profile,
|
|
.toggle-search,
|
|
.toggle-search.active,
|
|
.slick-featured-nav .slick-prev,
|
|
.slick-featured-nav .slick-next,
|
|
.slick-featured-nav .slick-prev:hover,
|
|
.slick-featured-nav .slick-next:hover,
|
|
.slick-featured-nav .slick-prev:focus,
|
|
.slick-featured-nav .slick-next:focus,
|
|
#footer:after,
|
|
.blog-card-more-link,
|
|
.blog-card-author a,
|
|
.blog-single-author a,
|
|
.widget_calendar caption,
|
|
.alx-tabs-nav li.active a,
|
|
#theme-toggle-btn:before { background: linear-gradient(90deg, '.esc_attr( get_theme_mod('gradient-left') ).' 0%, '.esc_attr( get_theme_mod('gradient-right') ).' 100%); }
|
|
|
|
#theme-toggle i { background-image: linear-gradient(90deg, '.esc_attr( get_theme_mod('gradient-left') ).' 0%, '.esc_attr( get_theme_mod('gradient-right') ).' 100%); }
|
|
|
|
@media only screen and (max-width: 720px) {
|
|
.site-title:after { background: linear-gradient(90deg, '.esc_attr( get_theme_mod('gradient-left') ).' 0%, '.esc_attr( get_theme_mod('gradient-right') ).' 100%); }
|
|
}
|
|
'."\n";
|
|
}
|
|
// gradient right
|
|
if ( get_theme_mod('gradient-right','#6c5dd3') != '#6c5dd3' ) {
|
|
$styles .= '
|
|
#profile,
|
|
.toggle-search,
|
|
.toggle-search.active,
|
|
.slick-featured-nav .slick-prev,
|
|
.slick-featured-nav .slick-next,
|
|
.slick-featured-nav .slick-prev:hover,
|
|
.slick-featured-nav .slick-next:hover,
|
|
.slick-featured-nav .slick-prev:focus,
|
|
.slick-featured-nav .slick-next:focus,
|
|
#footer:after,
|
|
.blog-card-more-link,
|
|
.blog-card-author a,
|
|
.blog-single-author a,
|
|
.widget_calendar caption,
|
|
.alx-tabs-nav li.active a,
|
|
#theme-toggle-btn:before { background: linear-gradient(90deg, '.esc_attr( get_theme_mod('gradient-left') ).' 0%, '.esc_attr( get_theme_mod('gradient-right') ).' 100%); }
|
|
|
|
#theme-toggle i { background-image: linear-gradient(90deg, '.esc_attr( get_theme_mod('gradient-left') ).' 0%, '.esc_attr( get_theme_mod('gradient-right') ).' 100%); }
|
|
|
|
@media only screen and (max-width: 720px) {
|
|
.site-title:after { background: linear-gradient(90deg, '.esc_attr( get_theme_mod('gradient-left') ).' 0%, '.esc_attr( get_theme_mod('gradient-right') ).' 100%); }
|
|
}
|
|
'."\n";
|
|
}
|
|
// background color
|
|
if ( get_theme_mod('color-background','#ffffff') != '#ffffff' ) {
|
|
$styles .= '
|
|
body { background-color: '.esc_attr( get_theme_mod('color-background') ).'; }
|
|
'."\n";
|
|
}
|
|
// header logo max-height
|
|
if ( get_theme_mod('logo-max-height','60') != '60' ) {
|
|
$styles .= '.site-title a img { max-height: '.esc_attr( get_theme_mod('logo-max-height') ).'px; }'."\n";
|
|
}
|
|
// header text color
|
|
if ( get_theme_mod( 'header_textcolor' ) != '' ) {
|
|
$styles .= '.site-title a, .site-description { color: #'.esc_attr( get_theme_mod( 'header_textcolor' ) ).'; }'."\n";
|
|
}
|
|
if ( get_theme_mod('dark','off') == 'on' ) {
|
|
wp_add_inline_style( 'shapebox-dark', $styles );
|
|
} else {
|
|
wp_add_inline_style( 'shapebox-style', $styles );
|
|
}
|
|
}
|
|
}
|
|
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'shapebox_dynamic_css' );
|