367 lines
13 KiB
PHP
367 lines
13 KiB
PHP
<?php
|
|
/**
|
|
* cyber functions and definitions
|
|
*
|
|
* @link https://developer.wordpress.org/themes/basics/theme-functions/
|
|
*
|
|
* @package cyber
|
|
*/
|
|
|
|
/*@ Rewriting slug of CPT */
|
|
|
|
if( !function_exists('sc_change_custom_post_type_slug') ):
|
|
|
|
add_filter( 'register_post_type_args', 'sc_change_custom_post_type_slug', 10, 2 );
|
|
|
|
function sc_change_custom_post_type_slug( $args, $post_type ) {
|
|
|
|
if ( 'em_case_study' === $post_type ) {
|
|
$args['rewrite']['slug'] = 'success-story';
|
|
}
|
|
|
|
return $args;
|
|
}
|
|
|
|
endif;
|
|
|
|
add_filter( 'register_post_type_args', 'drejas_register_post_type_args', 10, 2 );
|
|
function drejas_register_post_type_args( $args, $post_type ) {
|
|
|
|
if ( 'em_portfolios' === $post_type ) {
|
|
$args['rewrite']['slug'] = 'service-details';
|
|
}
|
|
|
|
return $args;
|
|
}
|
|
|
|
|
|
if ( ! function_exists( 'cyber_setup' ) ) :
|
|
/**
|
|
* Sets up theme defaults and registers support for various WordPress features.
|
|
*
|
|
* Note that this function is hooked into the after_setup_theme hook, which
|
|
* runs before the init hook. The init hook is too late for some features, such
|
|
* as indicating support for post thumbnails.
|
|
*/
|
|
function cyber_setup() {
|
|
|
|
load_theme_textdomain( 'cyber', get_template_directory() . '/languages' );
|
|
add_theme_support( 'automatic-feed-links' );
|
|
add_theme_support( 'title-tag' );
|
|
add_theme_support( 'post-formats', array( 'gallery', 'quote', 'video', 'audio' ) );
|
|
add_image_size( 'cyber-blog-default', 390, 290, true );
|
|
add_image_size( 'cyber-blog-adn', 250, 300, true );
|
|
add_image_size( 'cyber-blog-single', 900, 550, true );
|
|
add_image_size( 'cyber-blog-both', 570, 350, true );
|
|
add_image_size( 'cyber-team', 450, 450, true );
|
|
add_image_size( 'cyber-testimonial', 106, 106, true );
|
|
add_image_size( 'cyber-single-portfolio', 1170, 600, true );
|
|
add_image_size( 'cyber-gallery-thumb', 560, 560, true );
|
|
add_image_size( 'cyber-recent-image', 80, 80, true );
|
|
add_image_size( 'cyber-case-thumb', 400, 250, true );
|
|
add_theme_support('woocommerce');
|
|
add_theme_support( 'wc-product-gallery-zoom' );
|
|
add_theme_support( 'wc-product-gallery-lightbox' );
|
|
add_theme_support( 'wc-product-gallery-slider' );
|
|
add_theme_support( 'post-thumbnails');
|
|
add_editor_style();
|
|
|
|
register_nav_menus( array(
|
|
'menu-top' => esc_html__( 'Top Menu', 'cyber' ),
|
|
'menu-1' => esc_html__( 'Main Menu', 'cyber' ),
|
|
'one-pages' => esc_html__( 'OnePage Menu', 'cyber' ),
|
|
'menu-3' => esc_html__( 'Mobile Menu', 'cyber' ),
|
|
'menu-4' => esc_html__( 'Footer Menu', 'cyber' ),
|
|
|
|
) );
|
|
|
|
add_theme_support( 'html5', array(
|
|
'search-form',
|
|
'comment-form',
|
|
'comment-list',
|
|
'gallery',
|
|
'caption',
|
|
) );
|
|
|
|
add_theme_support( 'custom-background', apply_filters( 'cyber_custom_background_args', array(
|
|
'default-color' => 'ffffff',
|
|
'default-image' => '',
|
|
) ) );
|
|
|
|
add_theme_support( 'customize-selective-refresh-widgets' );
|
|
}
|
|
endif;
|
|
add_action( 'after_setup_theme', 'cyber_setup' );
|
|
|
|
|
|
/**
|
|
* Implement the Custom Header feature.
|
|
*/
|
|
require get_template_directory() . '/includes/custom-header.php';
|
|
|
|
/**
|
|
* Custom template tags for this theme.
|
|
*/
|
|
require get_template_directory() . '/includes/template-tags.php';
|
|
|
|
/**
|
|
* Custom functions that act independently of the theme templates.
|
|
*/
|
|
require get_template_directory() . '/includes/extras.php';
|
|
|
|
/**
|
|
* Customizer additions.
|
|
*/
|
|
require get_template_directory() . '/includes/customizer.php';
|
|
|
|
/**
|
|
* Load Jetpack compatibility file.
|
|
*/
|
|
require get_template_directory() . '/includes/jetpack.php';
|
|
|
|
/**
|
|
*visual composer
|
|
*/
|
|
|
|
// load redux
|
|
if ( class_exists('ReduxFrameworkPlugin') ) {
|
|
require get_template_directory(). '/includes/cyber-option-framework.php';
|
|
}
|
|
require get_template_directory(). '/includes/cyber-global-function.php';
|
|
require get_template_directory(). '/includes/cyber-breadcrumb.php';
|
|
require get_template_directory(). '/includes/cyber-tgm-activation.php';
|
|
|
|
|
|
/**
|
|
* Set the content width in pixels, based on the theme's design and stylesheet.
|
|
*
|
|
* Priority 0 to make it available to lower priority callbacks.
|
|
*
|
|
* @global int $content_width
|
|
*/
|
|
function cyber_content_width() {
|
|
$GLOBALS['content_width'] = apply_filters( 'cyber_content_width', 1140 );
|
|
}
|
|
add_action( 'after_setup_theme', 'cyber_content_width', 0 );
|
|
|
|
/**
|
|
*Register Fonts
|
|
*/
|
|
if(!function_exists('cyber_fonts_url')){
|
|
|
|
function cyber_fonts_url(){
|
|
$fonts_url = '';
|
|
|
|
/* Translators: If there are characters in your language that are not
|
|
* supported by Roboto, translate this to 'off'. Do not translate
|
|
* into your own language.
|
|
*/
|
|
$muli = _x( 'on', 'Muli font: on or off', 'cyber' );
|
|
/* $open_sans = _x( 'on', 'Muli font: on or off', 'cyber' ); */
|
|
|
|
if ( 'off' !== $muli ) {
|
|
$font_families = array();
|
|
}
|
|
|
|
if ( 'off' !== $muli ) {
|
|
$font_families[] = 'Muli:300,400,500,600,700,800,900';
|
|
}
|
|
|
|
/* if ( 'off' !== $open_sans ) {
|
|
$font_families[] = 'Open Sans:300,400,500,600,700,800,900';
|
|
}
|
|
*/
|
|
|
|
if ( $font_families ) {
|
|
$fonts_url = add_query_arg( array(
|
|
'family' => urlencode( implode( '|', $font_families ) ),
|
|
'subset' => urlencode( 'latin,latin-ext' ),
|
|
), 'https://fonts.googleapis.com/css' );
|
|
}
|
|
|
|
return esc_url_raw( $fonts_url );
|
|
}
|
|
}
|
|
|
|
// load style
|
|
if(!function_exists('cyber_styles')){
|
|
|
|
function cyber_styles(){
|
|
|
|
wp_enqueue_style('bootstrap', get_template_directory_uri() .'/assets/css/bootstrap.min.css');
|
|
wp_enqueue_style( 'cyber-fonts', cyber_fonts_url(), array() );
|
|
wp_enqueue_style('venobox', get_template_directory_uri() .'/venobox/venobox.css');
|
|
wp_enqueue_style('nivo', get_template_directory_uri() .'/assets/css/nivo-slider.css');
|
|
wp_enqueue_style('animate', get_template_directory_uri() .'/assets/css/animate.css');
|
|
wp_enqueue_style('slick', get_template_directory_uri() .'/assets/css/slick.css');
|
|
wp_enqueue_style('owl-carousel', get_template_directory_uri() .'/assets/css/owl.carousel.css');
|
|
wp_enqueue_style('owl-transitions', get_template_directory_uri() .'/assets/css/owl.transitions.css');
|
|
wp_enqueue_style('fontawesome', get_template_directory_uri() .'/assets/css/font-awesome.min.css');
|
|
wp_enqueue_script( 'modernizrs', get_template_directory_uri() . '/assets/js/modernizr.custom.79639.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'mouse-directions', get_template_directory_uri() . '/assets/js/jquery.directional-hover.min.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_style('meanmenu', get_template_directory_uri() .'/assets/css/meanmenu.min.css');
|
|
wp_enqueue_style('cyber-theme-default', get_template_directory_uri() .'/assets/css/theme-default.css');
|
|
wp_enqueue_style('cyber-widget', get_template_directory_uri() .'/assets/css/widget.css');
|
|
wp_enqueue_style('cyber-unittest', get_template_directory_uri() .'/assets/css/unittest.css');
|
|
wp_enqueue_style( 'cyber-style', get_stylesheet_uri() );
|
|
wp_enqueue_style('cyber-responsive', get_template_directory_uri() .'/assets/css/responsive.css');
|
|
}
|
|
|
|
}
|
|
|
|
|
|
add_action( 'wp_enqueue_scripts', 'cyber_styles' );
|
|
|
|
|
|
// Load scripts.
|
|
if(!function_exists('cyber_scripts')){
|
|
|
|
function cyber_scripts() {
|
|
|
|
wp_enqueue_script( 'modernizr', get_template_directory_uri() . '/assets/js/vendor/modernizr-2.8.3.min.js', array(), '2.8.3', true );
|
|
wp_enqueue_script( 'bootstrap', get_template_directory_uri() . '/assets/js/bootstrap.min.js', array('jquery'), '3.3.5', true );
|
|
wp_enqueue_script( 'imagesloaded');
|
|
wp_enqueue_script( 'meanmenu', get_template_directory_uri() . '/assets/js/jquery.meanmenu.js', array('jquery'), '1.0.0', true );
|
|
wp_enqueue_script( 'isotope', get_template_directory_uri() . '/assets/js/isotope.pkgd.min.js', array('jquery'), '1.0.0', true );
|
|
wp_enqueue_script( 'owl-carousel', get_template_directory_uri() . '/assets/js/owl.carousel.min.js', array('jquery'), '', true );
|
|
wp_enqueue_script( 'scrollup', get_template_directory_uri() . '/assets/js/jquery.scrollUp.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'nivo-slider', get_template_directory_uri() . '/assets/js/jquery.nivo.slider.pack.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'headroom', get_template_directory_uri() . '/assets/js/headroom.min.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'paralax', get_template_directory_uri() . '/assets/js/parallax.min.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'jquery-counterup', get_template_directory_uri() . '/assets/js/jquery.counterup.min.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'slick', get_template_directory_uri() . '/assets/js/slick.min.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'jquery-nav', get_template_directory_uri() . '/assets/js/jquery.nav.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'animate-text', get_template_directory_uri() . '/assets/js/headline.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'wow', get_template_directory_uri() . '/assets/js/wow.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'jquery-scrolltofixed', get_template_directory_uri() . '/assets/js/jquery-scrolltofixed-min.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'venobox', get_template_directory_uri() . '/venobox/venobox.min.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'waypoints', get_template_directory_uri() . '/assets/js/waypoints.min.js', array('jquery'), '3.2.4', true );
|
|
wp_enqueue_script( 'cyber-navigation', get_template_directory_uri() . '/assets/js/navigation.js', array(), '20151215', true );
|
|
wp_enqueue_script( 'cyber-skip-link-focus-fix', get_template_directory_uri() . '/assets/js/skip-link-focus-fix.js', array(), '20151215', true );
|
|
wp_enqueue_script( 'cyber-theme', get_template_directory_uri() . '/assets/js/theme.js', array('jquery'), '3.2.4', true );
|
|
|
|
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
|
|
wp_enqueue_script( 'comment-reply' );
|
|
}
|
|
}
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'cyber_scripts' );
|
|
|
|
/**
|
|
* cyber widget js
|
|
*/
|
|
if(!function_exists('cyber_media_scripts')){
|
|
|
|
function cyber_media_scripts() {
|
|
wp_enqueue_media();
|
|
wp_enqueue_script('cyber-uploader', get_template_directory_uri() .'/assets/js/cyber_uploader.js', false, '', true );
|
|
}
|
|
}
|
|
add_action('admin_enqueue_scripts', 'cyber_media_scripts');
|
|
|
|
|
|
|
|
// Content word count
|
|
if(!function_exists('cyber_read_more')){
|
|
|
|
function cyber_read_more($limit){
|
|
$content = explode(' ', get_the_content());
|
|
$count = array_slice($content, 0 , $limit);
|
|
echo implode (' ', $count);
|
|
}
|
|
}
|
|
|
|
// Title word count
|
|
if(!function_exists('cyber_title')){
|
|
|
|
function cyber_title($limit){
|
|
$title = explode(' ' , get_the_title());
|
|
$titles = array_slice($title , 0, $limit);
|
|
echo implode(' ', $titles);
|
|
}
|
|
|
|
}
|
|
/**
|
|
* Register widget area.
|
|
*/
|
|
if(!function_exists('cyber_widgets_init')){
|
|
function cyber_widgets_init() {
|
|
register_sidebar( array(
|
|
'name' => esc_html__( 'Sidebar', 'cyber' ),
|
|
'id' => 'sidebar-1',
|
|
'description' => esc_html__( 'Add widgets here.', 'cyber' ),
|
|
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
|
'after_widget' => '</div>',
|
|
'before_title' => '<h2 class="widget-title">',
|
|
'after_title' => '</h2>',
|
|
) );
|
|
register_sidebar( array(
|
|
'name' => esc_html__( 'Page', 'cyber' ),
|
|
'id' => 'sidebar-2',
|
|
'description' => esc_html__( 'Add widgets here.', 'cyber' ),
|
|
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
|
'after_widget' => '</div>',
|
|
'before_title' => '<h2 class="widget-title">',
|
|
'after_title' => '</h2>',
|
|
) );
|
|
|
|
/**
|
|
* Register Footer Sidebars
|
|
*/
|
|
for( $footer = 1; $footer < 5; $footer++ ) {
|
|
register_sidebar( array(
|
|
'id' => 'cyber-footer-' . $footer,
|
|
'name' => esc_html__( 'Footer ', 'cyber' ) . $footer,
|
|
'before_widget' => '<div id="%1$s" class="widget %2$s">',
|
|
'after_widget' => '</div>',
|
|
'before_title' => '<h2 class="widget-title">',
|
|
'after_title' => '</h2>',
|
|
) );
|
|
} // for footers
|
|
}
|
|
|
|
}
|
|
add_action( 'widgets_init', 'cyber_widgets_init' );
|
|
|
|
|
|
add_filter('autoptimize_html_after_minify', function($content) {
|
|
|
|
$site_url = 'https://bulk-editor.com';//drop here your site link without slash on the end
|
|
|
|
$content = str_replace("type='text/javascript'", ' ', $content);
|
|
$content = str_replace('type="text/javascript"', ' ', $content);
|
|
|
|
$content = str_replace("type='text/css'", ' ', $content);
|
|
$content = str_replace('type="text/css"', ' ', $content);
|
|
|
|
$content = str_replace($site_url . '/wp-includes/js', '/wp-includes/js', $content);
|
|
$content = str_replace($site_url . '/wp-content/cache/autoptimize', '/wp-content/cache/autoptimize', $content);
|
|
$content = str_replace($site_url . '/wp-content/themes/', '/wp-content/themes/', $content);
|
|
$content = str_replace($site_url . '/wp-content/uploads/', '/wp-content/uploads/', $content);
|
|
return $content;
|
|
}, 10, 1);
|
|
|
|
/**
|
|
* Include font-awesome
|
|
*/
|
|
function cyber_enqueue_font_awesome() {
|
|
wp_enqueue_style( 'font-awesome', 'https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.5.2/css/all.min.css' );
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'cyber_enqueue_font_awesome' );
|
|
|
|
/**
|
|
* Include custom.css with max priority
|
|
*/
|
|
function cyber_enqueue_custom_css() {
|
|
wp_enqueue_style( 'cyber-custom', get_template_directory_uri() . '/assets/css/custom.css', array(), null );
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'cyber_enqueue_custom_css', PHP_INT_MAX );
|
|
|
|
/**
|
|
* Include custom.js
|
|
*/
|
|
function cyber_enqueue_custom_js() {
|
|
wp_enqueue_script( 'cyber-custom', get_template_directory_uri() . '/assets/js/custom.js', array('jquery'), null );
|
|
}
|
|
add_action( 'wp_enqueue_scripts', 'cyber_enqueue_custom_js', PHP_INT_MAX );
|