<?php
$acens_redux_demo = get_option('redux_demo');
//Custom fields:
require_once get_template_directory() . '/framework/wp_bootstrap_navwalker.php';
require_once get_template_directory() . '/framework/class-ocdi-importer.php';
//Theme Set up:
function acens_theme_setup() {
/*
* This theme uses a custom image size for featured images, displayed on
* "standard" posts and pages.
*/
add_theme_support( 'custom-header' );
add_theme_support( 'custom-background' );
$lang = get_template_directory_uri() . '/languages';
load_theme_textdomain( 'acens', $lang );
add_theme_support( 'post-thumbnails' );
// Adds RSS feed links to <head> for posts and comments.
add_theme_support( 'automatic-feed-links' );
// Switches default core markup for search form, comment form, and comments
// to output valid HTML5.
add_theme_support( 'title-tag' );
add_theme_support( 'html5', array( 'search-form', 'comment-form', 'comment-list' ) );
// This theme uses wp_nav_menu() in one location.
register_nav_menus( array(
'primary' => esc_html__( 'Primary Menu: Chosen menu in home Light', 'acens' ),
'primary_dark' => esc_html__( 'Primary Menu: Chosen menu in Home Dark', 'acens' ),
'services' => esc_html__( 'Services Menu: Chosen menu Sidebar Services', 'acens' ),
'services_dark' => esc_html__( 'Services Menu Dark: Chosen menu Sidebar Services Dark', 'acens' ),
'onepage' => esc_html__( 'Onepage Menu: Chosen menu Home Onepage', 'acens' ),
) );
// This theme uses its own gallery styles.
}
add_action( 'after_setup_theme', 'acens_theme_setup' );
if ( ! isset( $content_width ) ) $content_width = 900;
function acens_theme_scripts_styles() {
$acens_redux_demo = get_option('redux_demo');
$protocol = is_ssl() ? 'https' : 'http';
wp_enqueue_style('bootstrap', get_template_directory_uri().'/css/plugins/bootstrap.min.css');
wp_enqueue_style('owl-carousel', get_template_directory_uri().'/css/plugins/owl.carousel.min.css');
wp_enqueue_style('owl-theme-default', get_template_directory_uri().'/css/plugins/owl.theme.default.min.css');
wp_enqueue_style('animate', get_template_directory_uri().'/css/plugins/animate.min.css');
wp_enqueue_style('font-awesome-pro', get_template_directory_uri().'/css/plugins/font-awesome-pro.css');
wp_enqueue_style('et-lineicons', get_template_directory_uri().'/css/plugins/et-lineicons.css');
wp_enqueue_style('magnific-popup', get_template_directory_uri().'/css/plugins/magnific-popup.css');
wp_enqueue_style('youtubepopup', get_template_directory_uri().'/css/plugins/YouTubePopUp.css');
wp_enqueue_style('vegas-slider', get_template_directory_uri().'/css/plugins/vegas.slider.min.css');
wp_enqueue_style('acens-style-dark', get_template_directory_uri().'/css/style-dark.css');
wp_enqueue_style('acens-style', get_template_directory_uri().'/css/style.css');
wp_enqueue_style('acens-css', get_stylesheet_uri(), array(), '2024-02-18' );
if(isset($acens_redux_demo['chosen-color']) && $acens_redux_demo['chosen-color']==1){
wp_enqueue_style( 'color', get_template_directory_uri().'/framework/color.php');
}
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) )
wp_enqueue_script( 'comment-reply' );
//Javascript
wp_enqueue_script('modernizr', get_template_directory_uri().'/js/modernizr-2.6.2.min.js',array(),false,true);
wp_enqueue_script('imagesloaded-pkgd', get_template_directory_uri().'/js/imagesloaded.pkgd.min.js',array(),false,true);
wp_enqueue_script('jquery-isotope', get_template_directory_uri().'/js/jquery.isotope.v3.0.2.js',array(),false,true);
wp_enqueue_script('popper', get_template_directory_uri().'/js/popper.min.js',array(),false,true);
wp_enqueue_script('bootstrap', get_template_directory_uri().'/js/bootstrap.min.js',array(),false,true);
wp_enqueue_script('scrollit', get_template_directory_uri().'/js/scrollIt.min.js',array(),false,true);
wp_enqueue_script('jquery-waypoints', get_template_directory_uri().'/js/jquery.waypoints.min.js',array(),false,true);
wp_enqueue_script('owl-carousel', get_template_directory_uri().'/js/owl.carousel.min.js',array(),false,true);
wp_enqueue_script('jquery-stellar', get_template_directory_uri().'/js/jquery.stellar.min.js',array(),false,true);
wp_enqueue_script('jquery-magnific-popup', get_template_directory_uri().'/js/jquery.magnific-popup.js',array(),false,true);
wp_enqueue_script('youtubepopup', get_template_directory_uri().'/js/YouTubePopUp.js',array(),false,true);
wp_enqueue_script('jquery-easing', get_template_directory_uri().'/js/jquery.easing.1.3.js',array(),false,true);
wp_enqueue_script('smooth-scroll', get_template_directory_uri().'/js/smooth-scroll.min.js',array(),false,true);
wp_enqueue_script('wow', get_template_directory_uri().'/js/wow.js',array(),false,true);
wp_enqueue_script('vegas-slider', get_template_directory_uri().'/js/vegas.slider.min.js',array(),false,true);
wp_enqueue_script('acens-custom', get_template_directory_uri().'/js/custom.js',array(),false,true);
}
add_action( 'wp_enqueue_scripts', 'acens_theme_scripts_styles' );
function acens_move_comment_field_to_bottom( $fields ) {
$comment_field = $fields['comment'];
unset( $fields['comment'] );
$fields['comment'] = $comment_field;
return $fields;
}
add_filter( 'comment_form_fields', 'acens_move_comment_field_to_bottom' );
//Custom Excerpt Function
function acens_do_shortcode($content) {
global $shortcode_tags;
if (empty($shortcode_tags) || !is_array($shortcode_tags))
return $content;
$pattern = get_shortcode_regex();
return preg_replace_callback( "/$pattern/s", 'do_shortcode_tag', $content );
}
// Widget Sidebar
function acens_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Primary Sidebar', 'acens' ),
'id' => 'sidebar-1',
'description' => esc_html__( 'Appears in the sidebar section of the site.', 'acens' ),
'before_widget' => '<div class="col-md-12"><div class="widget item %2$s " id="%1$s">',
'after_widget' => '</div></div>',
'before_title' => '<div class="text"> <h5>',
'after_title' => '</h5></div>'
) );
register_sidebar( array(
'name' => esc_html__( 'Footer One Widget light', 'acens' ),
'id' => 'footer-area-1',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '',
'after_widget' => '',
'before_title' => ' ',
'after_title' => ' ',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Two Widget light', 'acens' ),
'id' => 'footer-area-2',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '<div id="%1$s">',
'after_widget' => '</div>',
'before_title' => ' ',
'after_title' => ' ',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Three Widget light', 'acens' ),
'id' => 'footer-area-3',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '<div id="%1$s">',
'after_widget' => '</div>',
'before_title' => ' ',
'after_title' => ' ',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Four Widget light', 'acens' ),
'id' => 'footer-area-4',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '<div id="%1$s">',
'after_widget' => '</div>',
'before_title' => ' ',
'after_title' => ' ',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Five Widget light', 'acens' ),
'id' => 'footer-area-5',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '<div id="%1$s">',
'after_widget' => '</div>',
'before_title' => ' ',
'after_title' => ' ',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer One Widget Dark', 'acens' ),
'id' => 'footer-area-1-dark',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '',
'after_widget' => '',
'before_title' => ' ',
'after_title' => ' ',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Two Widget Dark', 'acens' ),
'id' => 'footer-area-2-dark',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '<div id="%1$s">',
'after_widget' => '</div>',
'before_title' => ' ',
'after_title' => ' ',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Three Widget Dark', 'acens' ),
'id' => 'footer-area-3-dark',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '<div id="%1$s">',
'after_widget' => '</div>',
'before_title' => ' ',
'after_title' => ' ',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Four Widget Dark', 'acens' ),
'id' => 'footer-area-4-dark',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '<div id="%1$s">',
'after_widget' => '</div>',
'before_title' => ' ',
'after_title' => ' ',
) );
register_sidebar( array(
'name' => esc_html__( 'Footer Five Widget Dark', 'acens' ),
'id' => 'footer-area-5-dark',
'description' => esc_html__( 'Footer Widget that appears on the Footer.', 'acens' ),
'before_widget' => '<div id="%1$s">',
'after_widget' => '</div>',
'before_title' => ' ',
'after_title' => ' ',
) );
}
add_action( 'widgets_init', 'acens_widgets_init' );
function acens_override_mce_options($initArray) {
$opts = '*[*]';
$initArray['valid_elements'] = $opts;
$initArray['extended_valid_elements'] = $opts;
return $initArray;
}
add_filter('tiny_mce_before_init', 'acens_override_mce_options');
//function tag widgets
function acens_tag_cloud_widget($args) {
$args['number'] = 0; //adding a 0 will display all tags
$args['largest'] = 18; //largest tag
$args['smallest'] = 11; //smallest tag
$args['unit'] = 'px'; //tag font unit
$args['format'] = 'list'; //ul with a class of wp-tag-cloud
$args['exclude'] = array(20, 80, 92); //exclude tags by ID
return $args;
}
add_filter( 'widget_tag_cloud_args', 'acens_tag_cloud_widget' );
function acens_excerpt() {
$acens_redux_demo = get_option('redux_demo');
if(isset($acens_redux_demo['blog_excerpt'])){
$limit = $acens_redux_demo['blog_excerpt'];
}else{
$limit = 50;
}
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'...';
} else {
$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`[[^]]*]`','',$excerpt);
return $excerpt;
}
function acens_excerpt2() {
$acens_redux_demo = get_option('redux_demo');
if(isset($acens_redux_demo['services_excerpt'])){
$limit = $acens_redux_demo['services_excerpt'];
}else{
$limit = 18;
}
$excerpt = explode(' ', get_the_excerpt(), $limit);
if (count($excerpt)>=$limit) {
array_pop($excerpt);
$excerpt = implode(" ",$excerpt).'...';
} else {
$excerpt = implode(" ",$excerpt);
}
$excerpt = preg_replace('`[[^]]*]`','',$excerpt);
return $excerpt;
}
function acens_search_form( $form ) {
$form = '
<form action="' . esc_url(home_url('/')) . '">
<input type="text" class="s-input-home" name="s" required value="' . get_search_query() . '" placeholder="'.esc_attr__('Search…', 'acens').'">
<button type="submit"><i class="fa-regular fa-magnifying-glass" aria-hidden="true"></i></button>
</form>
';
return $form;
}
add_filter( 'get_search_form', 'acens_search_form' );
function acens_theme_comment($comment, $args, $depth) {
//echo 's';
$GLOBALS['comment'] = $comment; ?>
<?php if(get_avatar($comment,$size='100' )!=''){?>
<div class="wrap comment_demo">
<div class="img img-grayscale"> <?php echo get_avatar($comment,$size='72' ); ?> </div>
<div class="text">
<h5><?php printf( get_comment_author_link()) ?><span><?php comment_time(get_option( 'date_format' ));?></span></h5>
<?php comment_text() ?>
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
</div>
<?php }else{?>
<div class="wrap comment_demo no-avatar">
<div class="text">
<h5><?php printf( get_comment_author_link()) ?><span><?php comment_time(get_option( 'date_format' ));?></span></h5>
<?php comment_text() ?>
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
</div>
<?php }?>
<?php
}
function acens_theme_comment2($comment, $args, $depth) {
//echo 's';
$GLOBALS['comment'] = $comment; ?>
<?php if(get_avatar($comment,$size='100' )!=''){?>
<div class="wrap">
<div class="img img-grayscale"><?php echo get_avatar($comment,$size='72' ); ?></div>
<div class="text">
<h5><?php printf( get_comment_author_link()) ?><span><?php comment_time(get_option( 'date_format' ));?></span></h5>
<?php comment_text() ?>
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
</div>
<?php }else{?>
<div class="wrap no-avatar">
<div class="text">
<h5><?php printf( get_comment_author_link()) ?><span><?php comment_time(get_option( 'date_format' ));?></span></h5>
<?php comment_text() ?>
<?php comment_reply_link(array_merge( $args, array('depth' => $depth, 'max_depth' => $args['max_depth']))) ?>
</div>
</div>
<?php }?>
<?php
}
/**
* This file represents an example of the code that themes would use to register
* the required plugins.
*
* It is expected that theme authors would copy and paste this code into their
* functions.php file, and amend to suit.
*
* @package TGM-Plugin-Activation
* @subpackage Example
* @version 2.6.1
* @author Thomas Griffin <thomasgriffinmedia.com>
* @author Gary Jones <gamajo.com>
* @copyright Copyright (c) 2014, Thomas Griffin
* @license http://opensource.org/licenses/gpl-2.0.php GPL v2 or later
* @link https://github.com/thomasgriffin/TGM-Plugin-Activation
*/
/**
* Include the TGM_Plugin_Activation class.
*/
require_once get_template_directory() . '/framework/class-tgm-plugin-activation.php';
add_action( 'tgmpa_register', 'acens_theme_register_required_plugins' );
/**
* Register the required plugins for this theme.
*
* In this example, we register two plugins - one included with the TGMPA library
* and one from the .org repo.
*
* The variable passed to tgmpa_register_plugins() should be an array of plugin
* arrays.
*
* This function is hooked into tgmpa_init, which is fired within the
* TGM_Plugin_Activation class constructor.
*/
function acens_theme_register_required_plugins() {
/**
* Array of plugin arrays. Required keys are name and slug.
* If the source is NOT from the .org repo, then source is also required.
*/
$plugins = array(
// This is an example of how to include a plugin from the WordPress Plugin Repository.
array(
'name' => esc_html__( 'One Click Demo Import', 'acens' ),
'slug' => 'one-click-demo-import',
'required' => true,
),
array(
'name' => esc_html__( 'Classic Editor', 'acens' ),
'slug' => 'classic-editor',
'required' => true,
),
array(
'name' => esc_html__( 'Elementor', 'acens' ),
'slug' => 'elementor',
'required' => true,
),
array(
'name' => esc_html__( 'Classic Widgets', 'acens' ),
'slug' => 'classic-widgets',
'required' => true,
),
array(
'name' => esc_html__( 'Widget Importer & Exporter', 'acens' ),
'slug' => 'widget-importer-&-exporter',
'required' => true,
),
array(
'name' => esc_html__( 'Contact Form 7', 'acens' ),
'slug' => 'contact-form-7',
'required' => true,
),
array(
'name' => esc_html__( 'SVG Support', 'acens' ),
'slug' => 'svg-support',
'required' => true,
),
array(
'name' => esc_html__( 'WP Maximum Execution Time Exceeded', 'acens' ),
'slug' => 'wp-maximum-execution-time-exceeded',
'required' => true,
),
array(
'name' => esc_html__( 'Acens Common', 'acens' ),
'slug' => 'acens-common',
'required' => true,
'source' => get_template_directory() . '/framework/plugins/acens-common.zip',
),
array(
'name' => esc_html__( 'Acens Elementor', 'acens' ),
'slug' => 'acens-elementor',
'required' => true,
'source' => get_template_directory() . '/framework/plugins/acens-elementor.zip',
),
);
/**
* Array of configuration settings. Amend each line as needed.
* If you want the default strings to be available under your own theme domain,
* leave the strings uncommented.
* Some of the strings are added into a sprintf, so see the comments at the
* end of each line for what each argument will be.
*/
$config = array(
'default_path' => '', // Default absolute path to pre-packaged plugins.
'menu' => 'tgmpa-install-plugins', // Menu slug.
'has_notices' => true, // Show admin notices or not.
'dismissable' => true, // If false, a user cannot dismiss the nag message.
'dismiss_msg' => '', // If 'dismissable' is false, this message will be output at top of nag.
'is_automatic' => false, // Automatically activate plugins after installation or not.
'message' => '', // Message to output right before the plugins table.
'strings' => array(
'page_title' => esc_html__( 'Install Required Plugins', 'acens' ),
'menu_title' => esc_html__( 'Install Plugins', 'acens' ),
'installing' => esc_html__( 'Installing Plugin: %s', 'acens' ), // %s = plugin name.
'oops' => esc_html__( 'Something went wrong with the plugin API.', 'acens' ),
'notice_can_install_required' => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.', 'acens' ), // %1$s = plugin name(s).
'notice_can_install_recommended' => _n_noop( 'This theme recommends the following plugin: %1$s.', 'This theme recommends the following plugins: %1$s.', 'acens' ), // %1$s = plugin name(s).
'notice_cannot_install' => _n_noop( 'Sorry, but you do not have the correct permissions to install the %s plugin. Contact the administrator of this site for help on getting the plugin installed.', 'Sorry, but you do not have the correct permissions to install the %s plugins. Contact the administrator of this site for help on getting the plugins installed.', 'acens' ), // %1$s = plugin name(s).
'notice_can_activate_required' => _n_noop( 'The following required plugin is currently inactive: %1$s.', 'The following required plugins are currently inactive: %1$s.', 'acens' ), // %1$s = plugin name(s).
'notice_can_activate_recommended' => _n_noop( 'The following recommended plugin is currently inactive: %1$s.', 'The following recommended plugins are currently inactive: %1$s.', 'acens' ), // %1$s = plugin name(s).
'notice_cannot_activate' => _n_noop( 'Sorry, but you do not have the correct permissions to activate the %s plugin. Contact the administrator of this site for help on getting the plugin activated.', 'Sorry, but you do not have the correct permissions to activate the %s plugins. Contact the administrator of this site for help on getting the plugins activated.', 'acens' ), // %1$s = plugin name(s).
'notice_ask_to_update' => _n_noop( 'The following plugin needs to be updated to its latest version to ensure maximum compatibility with this theme: %1$s.', 'The following plugins need to be updated to their latest version to ensure maximum compatibility with this theme: %1$s.', 'acens' ), // %1$s = plugin name(s).
'notice_cannot_update' => _n_noop( 'Sorry, but you do not have the correct permissions to update the %s plugin. Contact the administrator of this site for help on getting the plugin updated.', 'Sorry, but you do not have the correct permissions to update the %s plugins. Contact the administrator of this site for help on getting the plugins updated.', 'acens' ), // %1$s = plugin name(s).
'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins', 'acens' ),
'activate_link' => _n_noop( 'Begin activating plugin', 'Begin activating plugins', 'acens' ),
'return' => esc_html__( 'Return to Required Plugins Installer', 'acens' ),
'plugin_activated' => esc_html__( 'Plugin activated successfully.', 'acens' ),
'complete' => esc_html__( 'All plugins installed and activated successfully. %s', 'acens' ), // %s = dashboard link.
'nag_type' => 'updated' // Determines admin notice type - can only be 'updated', 'update-nag' or 'error'.
)
);
tgmpa( $plugins, $config );
}
?>