Current File : /home/kelaby89/sergio-cuchi.tattoo/wp-content/themes/maori/includes/functions.php |
<?php
if ( !defined('ABSPATH')) exit;
if ( ! function_exists( 'maori_theme_setup' ) ) {
function maori_theme_setup() {
// Set the default content width.
$GLOBALS['content_width'] = 1110;
/* Translations */
load_theme_textdomain( 'maori', get_template_directory() .'/languages' );
$maori_locale = get_locale();
$maori_locale_file = get_template_directory() ."/languages/$maori_locale.php";
if ( is_readable($maori_locale_file) ) {
require_once($maori_locale_file);
}
/* Add theme support */
add_theme_support( 'automatic-feed-links' );
add_theme_support( 'post-thumbnails' );
add_theme_support( 'title-tag' );
/* Woocommerce */
add_theme_support( 'woocommerce', array(
'gallery_thumbnail_image_width' => 200
));
add_theme_support( 'wc-product-gallery-zoom' );
add_theme_support( 'wc-product-gallery-lightbox' );
add_theme_support( 'wc-product-gallery-slider' );
/* Gutenberg */
add_theme_support( 'gutenberg', array( 'wide-images' => true ));
/* Logo */
$maori_logo = array(
'height' => 300,
'width' => 300,
'flex-height' => true,
'flex-width' => true
);
add_theme_support( 'custom-logo', $maori_logo );
/* Add tinymce editor style */
add_editor_style();
/* Register Menus */
register_nav_menus(
array(
'maori-main-menu' => esc_html__( 'Main Menu', 'maori' )
)
);
}
}
add_action( 'after_setup_theme', 'maori_theme_setup' );
/*---------------------------------------------------
Change logo link class
----------------------------------------------------*/
function maori_change_logo_class( $html ) {
$html = str_replace( 'custom-logo-link', 'maori-logo-link', $html );
$html = str_replace( 'custom-logo', 'maori-logo', $html );
return $html;
}
add_filter( 'get_custom_logo', 'maori_change_logo_class' );
/*---------------------------------------------------
Default SiteOrigin Page Builder Settings
----------------------------------------------------*/
function maori_default_page_builder_settings( $settings ) {
$settings['display-teaser'] = false;
$settings['recommended-widgets'] = false;
$settings['post-types'] = array('page', 'maoriartists');
$settings['title-html'] = '<h5 class="maori-title-with-border"><span>{{title}}</span></h5>';
$settings['margin-bottom'] = 60;
$settings['margin-sides'] = 60;
$settings['tablet-width'] = 991;
$settings['mobile-width'] = 991;
$settings['full-width-container'] = '#maori-main-container';
return $settings;
}
add_filter( 'siteorigin_panels_settings_defaults', 'maori_default_page_builder_settings' );
/*---------------------------------------------------
Add a body class
----------------------------------------------------*/
if ( ! function_exists( 'maori_body_classes' ) ) {
function maori_body_classes( $classes ) {
$classes[] = 'maori';
return $classes;
}
}
add_filter( 'body_class','maori_body_classes' );
/*---------------------------------------------------
Custom Thumbnail Sizes
----------------------------------------------------*/
add_image_size( 'maori-thumbnail', 900, 600, true);
add_filter('image_size_names_choose', 'maori_image_sizes');
function maori_image_sizes($maorisizes) {
$maoriaddsizes = array(
"maori-thumbnail" => esc_html__( 'Maori Thumbnail', 'maori')
);
$maorinewsizes = array_merge($maorisizes, $maoriaddsizes);
return $maorinewsizes;
}
/*---------------------------------------------------
Wrap category widget post count in a span
----------------------------------------------------*/
if ( ! function_exists( 'maori_cat_count_span' ) ) {
function maori_cat_count_span($links) {
$links = str_replace('</a> (', '</a> <span class="badge badge-pill badge-default">', $links);
$links = str_replace(')', '</span>', $links);
return $links;
}
}
add_filter('wp_list_categories', 'maori_cat_count_span');
/*---------------------------------------------------
Add class to next/previous post links
----------------------------------------------------*/
function maori_posts_link_attributes($output) {
$class = 'class="maori-post-nav"';
return str_replace('<a href=', '<a '.$class.' href=', $output);
}
add_filter('next_post_link', 'maori_posts_link_attributes');
add_filter('previous_post_link', 'maori_posts_link_attributes');
/*---------------------------------------------------
Oembed filter
----------------------------------------------------*/
if ( ! function_exists( 'maori_oembed_wrapper' ) ) {
function maori_oembed_wrapper($return, $data, $url) {
/* HTML5 Validation */
$return = str_replace( array('frameborder="0"', 'webkitallowfullscreen', 'mozallowfullscreen'),'', $return );
$return = preg_replace('/(<[^>]+) allow=".*?"/i', '$1', $return);
/* HTML5 Validation END */
$type = '';
if (isset($data->type)) {
$type = $data->type;
}
if ($type) {
return "<div class='maori-iframe-wrapper'><div class='maori-iframe-{$type}'>{$return}</div></div>";
} else {
return "<div class='maori-iframe-wrapper'>{$return}</div>";
}
}
}
add_filter('oembed_dataparse','maori_oembed_wrapper',10,3);
/*---------------------------------------------------
Stylesheets
----------------------------------------------------*/
if ( ! function_exists( 'maori_theme_styles' ) ) {
function maori_theme_styles()
{
$maori_disable_external_script = get_theme_mod('maori_disable_external_script');
// Default Font
if (!$maori_disable_external_script) {
wp_enqueue_style('maori-font', 'https://fonts.googleapis.com/css?family=Open+Sans:400,400i,700|Oswald:400,700&subset=latin-ext', false, '');
}
// Plugins
wp_enqueue_style('fontawesome', get_template_directory_uri() . '/css/fontawesome.css', false, '1.0.0');
wp_enqueue_style('overlayscrollbars', get_template_directory_uri() . '/css/OverlayScrollbars.min.css', false, '1.5.2');
wp_enqueue_style('slick', get_template_directory_uri() . '/css/slick.css', false, '1.8.0');
// Main Styles
wp_enqueue_style('bootstrap', get_template_directory_uri() . '/css/bootstrap.min.css', false, '4.1.0');
if (is_rtl()) {
wp_enqueue_style('bootstrap-rtl', get_template_directory_uri() . '/css/bootstrap-rtl.css', array( 'bootstrap' ), '4.1.0');
}
wp_enqueue_style('maori-style', get_stylesheet_uri());
// Theme Settings
$maori_default_font_size = get_theme_mod('maori_default_font_size', 16);
$maori_link_color = get_theme_mod('maori_link_color', '#f7d18d');
$maori_link_hover_color = get_theme_mod('maori_link_hover_color', '#cdad75');
$maori_logo_width = get_theme_mod('maori_logo_width', 240);
$maori_panel_width = get_theme_mod('maori_panel_width', 480);
$maori_skin_color = get_theme_mod('maori_skin_color', '#f7d18d');
$maori_second_skin_color = get_theme_mod('maori_second_skin_color', '#cdad75');
$maori_main_bg = get_theme_mod('maori_main_bg', '');
$maori_other_light_texts = get_theme_mod('maori_other_light_texts', '#ffffff');
$maori_inline_style = '';
if ( is_admin_bar_showing() ) {
$maori_inline_style .= '@media only screen and (min-width: 1200px) {#maori-sidebar {padding-top:32px!important;}}';
}
if ((!empty($maori_logo_width) && ($maori_logo_width != 240))) {
$maori_inline_style .= '#maori-sidebar .maori-logo {max-width:' . $maori_logo_width . 'px}';
}
if ((!empty($maori_default_font_size) && ($maori_default_font_size != 16))) {
$maori_inline_style .= 'html { font-size:' . esc_attr($maori_default_font_size) . 'px }@media only screen and (max-width: 1199px) { html {font-size:' . esc_attr($maori_default_font_size - 1) . 'px}}@media only screen and (max-width: 575px) { html {font-size:' . esc_attr($maori_default_font_size - 2) . 'px} }';
}
if (!empty($maori_main_bg)) {
$maori_inline_style .= '#maori-site-wrapper {';
foreach ( (array) $maori_main_bg as $attr => $value ) {
if ( ! empty( $value ) ) {
if ($attr == 'background-image') {
$maori_inline_style .= $attr . ':url(' . $value . ');';
} else {
$maori_inline_style .= $attr . ':' . $value . ';';
}
}
}
$maori_inline_style .= '}';
}
if ((!empty($maori_link_color) && ($maori_link_color != '#f7d18d'))) {
$maori_inline_style .= 'a,.card-category {color:' . $maori_link_color . '}';
}
if ((!empty($maori_link_hover_color) && ($maori_link_hover_color != '#cdad75'))) {
$maori_inline_style .= 'a:hover {color:' . $maori_link_hover_color . '}';
}
if ((!empty($maori_skin_color) && ($maori_skin_color != '#f7d18d'))) {
$maori_inline_style .= 'blockquote {border-color: 4px solid ' . $maori_skin_color . ';}';
$maori_inline_style .= 'input[type="text"]:not(.form-control):focus,input[type="email"]:not(.form-control):focus,input[type="number"]:not(.form-control):focus,input[type="date"]:not(.form-control):focus,input[type="password"]:not(.form-control):focus,input[type="url"]:not(.form-control):focus,input[type="tel"]:not(.form-control):focus,textarea:not(.form-control):focus,.form-control:focus,blockquote {border-color: ' . $maori_skin_color . ';}';
$maori_inline_style .= '.maori-testimonials .slick-prev:hover,.maori-testimonials .slick-next:hover,#envirabox-loading:after,#envirabox-close:after,#envirabox-left-ico:after,#envirabox-right-ico:after,body.maori .maori-carousel .slick-prev:hover,body.maori .maori-carousel .slick-next:hover {background:' . $maori_skin_color . ';}';
$maori_inline_style .= '.text-primary,.text-primary:hover,.btn-primary.btn-link,.card .card-footer a:hover,.card-horizontal-meta a:hover,.maori-widget a:not(.btn):hover,.widget_recent_entries ul li a:hover,.widget_categories ul li a:hover,.widget_recent_comments ul li a:hover,.widget_pages ul li a:hover,.widget_meta ul li a:hover,.widget_archive ul li a:hover,.widget_recent-posts ul li a:hover,.widget_rss ul li a:hover,#recentcomments a:hover,.tagcloud a:hover,a[class^="tag"]:hover,#maori-phone-icon,.card-title a:hover, .card-title a:focus,.maori-menu-ul li a:hover,.maori-menu-ul li a.maori-menu-up,.maori-post-list a:hover,.badge-default a:hover,.card .card-footer a:not(.btn):not(.button):hover,.maori-post-list a:hover {color:' . $maori_skin_color . ';}';
$maori_inline_style .= '.btn-outline-primary:hover,.btn-outline-primary:focus,.btn-outline-primary:active,.btn-outline-primary.active,.open > .btn-outline-primary.dropdown-toggle {background-color:' . $maori_skin_color . ';border-color:' . $maori_skin_color . ';}';
$maori_inline_style .= '.badge-primary,#maori-cart-icon a span,.maori-zoom-icon {background-color:' . $maori_skin_color . ';}';
$maori_inline_style .= '.btn-outline-primary,.btn-outline-default {color:' . $maori_skin_color . ';border-color:' . $maori_skin_color . ';}';
$maori_inline_style .= '.maori-page-title span:after,.maori-menu-ul > li > a:hover:after,.maori-menu-ul > li > a:hover:before,.maori-menu-ul > li > a.maori-menu-up:before,.maori-menu-ul > li > a.maori-menu-up:after {background:' . $maori_skin_color . ';}';
$maori_inline_style .= '.maori-page-title-meta a:hover,.maori-post-nav-link a:hover {color:' . $maori_skin_color . ';}';
$maori_inline_style .= '.card-title a:after,.maori-title-with-border span:after,.maori-page-title span:after {background: ' . $maori_skin_color . ';background-image: linear-gradient(to right, ' . $maori_skin_color . ', #111);}';
$maori_inline_style .= '.maori-menu-ul > li:after {background: ' . $maori_skin_color . ';background-image: linear-gradient(to right, #191919, #191919, ' . $maori_skin_color . ');}';
$maori_inline_style .= '.maori-faq-cat-title {border-color:' . $maori_skin_color . ';}';
$maori_inline_style .= '.btn-primary,.btn-default,input[type="submit"]:not(.btn):not(.slick-arrow),input[type="button"]:not(.btn):not(.slick-arrow),.button,.maori-post-nav-table > .maori-post-nav,#envirabox-close:after,#envirabox-left-ico:after,#envirabox-right-ico:after,body.maori #envirabox-title-float-main,span.maori-post-price,.maori-carousel-view-more a,#maori-gototop,.maori-panel-inner .maori-panel-close,.sow-more-text a {background-color:' . $maori_skin_color . ';border-color:' . $maori_skin_color . ';}';
$maori_inline_style .= '.pagination > .page-item > .dots,.pagination > .page-item > .page-link,.pagination > .page-item > span {border-color:' . $maori_skin_color . ';color:' . $maori_skin_color . ';}';
$maori_inline_style .= '.pagination > .page-item > a:hover,.pagination > .page-item > a:focus,.pagination > .page-item > a:active,.pagination > .page-item.active .page-link {border-color:' . $maori_skin_color . ';background-color:' . $maori_skin_color . ';}';
}
if ((!empty($maori_second_skin_color) && ($maori_second_skin_color != '#cdad75'))) {
$maori_inline_style .= '.btn.active,.show > .btn.dropdown-toggle.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.show > .btn-primary.dropdown-toggle {background-color:' . $maori_second_skin_color . ';border-color:' . $maori_second_skin_color . ';}';
$maori_inline_style .= '.btn-primary.btn-link:hover,.btn-primary.btn-link:focus,.btn-primary.btn-link:active,.btn-primary.btn-link.active,.open > .btn-primary.btn-link.dropdown-toggle {color:' . $maori_second_skin_color . ';}';
$maori_inline_style .= '.btn-primary:hover,.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.show > .btn-default.dropdown-toggle,input[type="submit"]:not(.btn):hover,input[type="button"]:not(.btn):hover,.button:hover,.maori-carousel-view-more a:hover,#maori-gototop:hover,.maori-panel-inner .maori-panel-close:hover,.btn-outline-default:hover,.sow-more-text a:hover,.btn:not(:disabled):not(.disabled):active,.btn:not(:disabled):not(.disabled).active,.btn-default:not(:disabled):not(.disabled):active,.btn-default:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.btn-primary:not(:disabled):not(.disabled).active {background-color:' . $maori_second_skin_color . ';border-color:' . $maori_second_skin_color . ';}';
}
if ((!empty($maori_panel_width) && ($maori_panel_width != 480))) {
$maori_inline_style .= '.maori-panel {width:' . $maori_panel_width . 'px}';
}
if ((!empty($maori_other_light_texts) && ($maori_other_light_texts != '#ffffff'))) {
$maori_inline_style .= '#maori-menu-toggle,.maori-menu-ul li a,.maori-social-icons li a,#maori-top-icons ul li.maori-top-icon a {color:' . $maori_other_light_texts . ';}';
$maori_inline_style .= '.maori-menu-ul > li > a:after,.maori-menu-ul > li > a:before {background:' . $maori_other_light_texts . ';}';
}
wp_add_inline_style( 'maori-style', $maori_inline_style );
}
}
add_action('wp_enqueue_scripts', 'maori_theme_styles');
/*---------------------------------------------------
javascript files
----------------------------------------------------*/
if ( ! function_exists( 'maori_script_register' ) ) {
function maori_script_register() {
// Bootstrap
wp_enqueue_script('maori-bootstrap', get_template_directory_uri() . '/js/bootstrap.min.js', array( 'jquery' ), '4.1.0', true );
// Overlay Scrollbars
wp_enqueue_script('overlayscrollbars', get_template_directory_uri() . '/js/jquery.overlayScrollbars.min.js', array( 'jquery' ), '1.5.2', true );
// Responsive Grid
wp_enqueue_script('salvattore', get_template_directory_uri() . '/js/salvattore.min.js', array( 'jquery' ), '1.0.9', true );
// Slick carousel
wp_enqueue_script('slick', get_template_directory_uri() . '/js/slick/slick.min.js', array( 'jquery' ), '1.8.0', true );
// Off-Canvas Panel
if (!is_rtl()) {
wp_enqueue_script('maori-panel', get_template_directory_uri() . '/js/panel.js', array( 'jquery' ), '1.0.0', true );
} else {
wp_enqueue_script('maori-panel-rtl', get_template_directory_uri() . '/js/panel-rtl.js', array( 'jquery' ), '1.0.0', true );
}
// Comments
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( "comment-reply" );
}
// Custom
wp_enqueue_script('maori-custom', get_template_directory_uri() . '/js/custom.js', array( 'jquery' ), '1.0.0', true );
$maori_language = 'default';
if (is_rtl()) {
$maori_language = 'rtl';
}
$maori_script_param = array(
"maori_language" => $maori_language
);
wp_localize_script('maori-custom', 'maori_script_vars', $maori_script_param);
}
}
add_action( 'wp_enqueue_scripts', 'maori_script_register' );
/*---------------------------------------------------
Dashboard scripts
----------------------------------------------------*/
if ( ! function_exists( 'maori_theme_admin_scripts' ) ) {
function maori_theme_admin_scripts(){
wp_enqueue_style('maori-theme-admin-style', get_template_directory_uri() . '/includes/css/admin-general.css', false, '1.0');
}
}
add_action( 'admin_enqueue_scripts', 'maori_theme_admin_scripts', 99 );
/*---------------------------------------------------
Register Sidebars
----------------------------------------------------*/
if ( ! function_exists( 'maori_sidebars_widgets_init' ) ) {
function maori_sidebars_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Main Sidebar', 'maori'),
'id' => 'maori_main_sidebar',
'description' => esc_html__( 'Sliding Sidebar', 'maori' ),
'before_widget' => '<div id="%1$s" class="%2$s maori-widget">',
'after_widget' => "</div>",
'before_title' => '<h5 class="maori-title-with-border"><span>',
'after_title' => '</span></h5>',
));
register_sidebar( array(
'name' => esc_html__( 'Footer', 'maori'),
'id' => 'maori_footer_widgets',
'description' => esc_html__( 'You can use SiteOrigin Layout Builder Widget to create multiple column in the footer.', 'maori' ),
'before_widget' => '<div id="%1$s" class="%2$s maori-widget">',
'after_widget' => "</div>",
'before_title' => '<h5 class="maori-title-with-border"><span>',
'after_title' => '</span></h5>',
));
}
}
add_action( 'widgets_init', 'maori_sidebars_widgets_init' );
/*---------------------------------------------------
Custom excerpt dots
----------------------------------------------------*/
if ( ! function_exists( 'maori_excerpt_read_more' ) ) {
function maori_excerpt_read_more( $more ) {
return '...';
}
}
add_filter('excerpt_more', 'maori_excerpt_read_more');
/*---------------------------------------------------
Custom tag cloud
----------------------------------------------------*/
if ( ! function_exists( 'maori_wp_generate_tag_cloud' ) ) {
function maori_wp_generate_tag_cloud($content, $tags, $args)
{
if ( ! is_admin() ) {
$count=0;
$output=preg_replace_callback('(</a\s*>)', function($match) use ($tags, &$count) {
return "<span class=\"maori-tag-count\">".$tags[$count++]->count."</span></a>";
}, $content);
} else {
$output = $content;
}
return $output;
}
}
add_filter('wp_generate_tag_cloud','maori_wp_generate_tag_cloud', 10, 3);
if ( ! function_exists( 'maori_tag_cloud_args' ) ) {
function maori_tag_cloud_args($args) {
$maori_args = array('smallest' => 14, 'largest' => 14, 'orderby' => 'count','unit' => 'px','order' => 'DESC');
$args = wp_parse_args( $args, $maori_args );
return $args;
}
}
add_filter('widget_tag_cloud_args','maori_tag_cloud_args');
/*---------------------------------------------------
Custom comments
----------------------------------------------------*/
if ( ! function_exists( 'maori_comment' ) ) {
function maori_comment($comment, $args, $depth) {
$GLOBALS['comment'] = $comment; ?>
<div <?php comment_class(); ?> id="li-comment-<?php comment_ID(); ?>">
<div id="comment-<?php comment_ID(); ?>" class="maori_comments">
<?php if ($comment->comment_approved == '0') : ?>
<em><?php echo esc_html('Your comment is awaiting moderation.', 'maori'); ?></em>
<br />
<?php endif; ?>
<div class="maori_comment">
<div class="maori_comment_inner">
<?php $maori_avatar = get_avatar( $comment, 60 ); ?>
<?php if (!empty($maori_avatar)) { ?>
<div class="maori_comment_left">
<?php echo get_avatar( $comment, 60 ); ?>
</div>
<?php } ?>
<div class="maori_comment_right">
<div class="maori_comment_right_inner <?php if (empty($maori_avatar)) { ?>maori_no_avatar<?php } ?>">
<cite class="maori_fn"><?php printf(esc_attr('%s'), get_comment_author_link()) ?></cite>
<div class="maori_comment_links">
<a href="<?php echo htmlspecialchars( get_comment_link( $comment->comment_ID ) ) ?>"><i class="fa fa-clock-o"></i> <?php printf(esc_html__('%1$s at %2$s', 'maori'), get_comment_date(), get_comment_time()) ?></a> - <?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?><?php edit_comment_link(esc_html__('(Edit)', 'maori'),' ','') ?>
</div>
<div class="maori_comment_text">
<?php comment_text(); ?>
</div>
</div>
</div>
</div>
</div>
</div>
<?php
}
}
/* ---------------------------------------------------------
Add a class to Mailchimp form
----------------------------------------------------------- */
add_filter( 'mc4wp_form_css_classes', function( $classes ) {
$classes[] = 'maori-mailchimp';
return $classes;
});
/* ---------------------------------------------------------
TGM Activation Class
----------------------------------------------------------- */
require_once(get_template_directory() . '/includes/class-tgm-plugin-activation.php');
add_action( 'tgmpa_register', 'maori_register_required_plugins' );
function maori_register_required_plugins() {
$maori_plugins = array(
array(
'name' => esc_html__( 'Maori Features', 'maori'),
'slug' => 'maori-features',
'source' => get_template_directory_uri() . '/plugins/maori-features.zip',
'required' => true,
'version' => '1.4',
'force_activation' => false,
'force_deactivation' => false,
),
array(
'name' => esc_html__( 'Kirki', 'maori'),
'slug' => 'kirki',
'required' => true,
),
array(
'name' => esc_html__( 'CMB2', 'maori'),
'slug' => 'cmb2',
'required' => true,
),
array(
'name' => esc_html__( 'Siteorigin Panels', 'maori'),
'slug' => 'siteorigin-panels',
'required' => true,
),
array(
'name' => esc_html__( 'SiteOrigin Widgets Bundle', 'maori'),
'slug' => 'so-widgets-bundle',
'required' => true,
),
array(
'name' => esc_html__( 'Background Videos for SiteOrigin Page Builder', 'maori'),
'slug' => 'video-backgrounds-for-siteorigin-page-builder',
'required' => false,
),
array(
'name' => esc_html__( 'WooCommerce', 'maori'),
'slug' => 'woocommerce',
'required' => false,
),
array(
'name' => esc_html__( 'Envira Gallery', 'maori'),
'slug' => 'envira-gallery-lite',
'required' => false,
),
array(
'name' => esc_html__( 'Contact Form 7', 'maori'),
'slug' => 'contact-form-7',
'required' => false,
),
array(
'name' => esc_html__( 'One Click Demo Import', 'maori'),
'slug' => 'one-click-demo-import',
'required' => false,
)
);
$maori_config = array(
'id' => 'maori',
'default_path' => '',
'menu' => 'tgmpa-install-plugins',
'has_notices' => true,
'dismissable' => true,
'dismiss_msg' => '',
'is_automatic' => false,
'message' => '',
);
tgmpa( $maori_plugins, $maori_config );
}
?>