2019-05-23 12:30:31 -04:00
|
|
|
<?php
|
|
|
|
/**
|
|
|
|
* This file adds functions and actions for classes.
|
|
|
|
*
|
|
|
|
* @author Freeshifter LLC
|
|
|
|
* @since 1.0.0
|
|
|
|
*/
|
|
|
|
|
2021-07-02 10:24:48 -04:00
|
|
|
namespace WP_73k;
|
2019-05-23 12:30:31 -04:00
|
|
|
|
|
|
|
add_filter( 'body_class', function( $classes ) {
|
|
|
|
|
2021-07-04 18:16:33 -04:00
|
|
|
if ( is_singular( ['post', 'page'] ) ) {
|
|
|
|
$classes[] = 'singular';
|
|
|
|
}
|
2019-05-23 12:30:31 -04:00
|
|
|
|
2021-07-04 18:16:33 -04:00
|
|
|
if ( is_front_page() ) {
|
|
|
|
$classes[] = 'front-page';
|
|
|
|
}
|
2019-05-23 12:30:31 -04:00
|
|
|
|
2021-07-04 18:16:33 -04:00
|
|
|
return $classes;
|
2019-05-23 12:30:31 -04:00
|
|
|
|
2021-07-04 18:16:33 -04:00
|
|
|
});
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Filter to add CSS class to navbar menu <li> items
|
|
|
|
*/
|
|
|
|
add_filter( 'nav_menu_css_class' , function( $classes, $item, $args, $depth ) {
|
|
|
|
if ( 'primary' === $args->theme_location ) {
|
|
|
|
if (property_exists($args, 'menu_item_class')) {
|
|
|
|
array_push($classes, $args->menu_item_class);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $classes;
|
|
|
|
}, 3, 4 );
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Filter to add CSS class to navbar menu item <a> links
|
|
|
|
*/
|
|
|
|
add_filter( 'nav_menu_link_attributes' , function( $atts, $item, $args ) {
|
|
|
|
if ( 'primary' === $args->theme_location ) {
|
|
|
|
$atts['class'] = (empty($atts['class'])) ? '' : $atts['class'];
|
|
|
|
if ( in_array('current_page_item', $item->classes) ) {
|
|
|
|
$atts['class'] .= ' active';
|
|
|
|
}
|
|
|
|
if (property_exists($args, 'link_class')) {
|
|
|
|
$atts['class'] .= ' ' . $args->link_class;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $atts;
|
|
|
|
}, 2, 3 );
|
|
|
|
|
|
|
|
/*
|
|
|
|
* Filter to add icons to navbar menu items
|
|
|
|
*/
|
|
|
|
add_filter( 'wp_nav_menu_objects', function($items, $args) {
|
|
|
|
$svgicon_prefix = 'icon-';
|
|
|
|
foreach ( $items as $k => $object ) {
|
|
|
|
foreach ($object->classes as $c) {
|
|
|
|
if (substr( $c, 0, strlen( $svgicon_prefix ) ) === $svgicon_prefix) {
|
|
|
|
$icon_slug = str_replace($svgicon_prefix, '', $c);
|
2021-07-06 14:57:45 -04:00
|
|
|
$object->title = svg_icon_use($icon_slug, 'icon baseline') . $object->title;
|
2021-07-04 18:16:33 -04:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return $items;
|
|
|
|
}, 1, 2 );
|