esc_html__( 'Primary Menu', 'apazit' ),
'footer-links' => esc_html__( 'Footer Links', 'apazit' ) // secondary nav in footer
) );
// Enable support for Post Formats.
add_theme_support( 'post-formats', array( 'aside', 'image', 'video', 'quote', 'link' ) );
// Setup the WordPress core custom background feature.
add_theme_support( 'custom-background', apply_filters( 'apazit_custom_background_args', array(
'default-color' => 'F2F2F2',
'default-image' => '',
) ) );
// Enable support for HTML5 markup.
add_theme_support( 'html5', array(
'comment-list',
'search-form',
'comment-form',
'gallery',
'caption',
) );
/*
* Let WordPress manage the document title.
* By adding theme support, we declare that this theme does not use a
* hard-coded
tag in the document head, and expect WordPress to
* provide it for us.
*/
add_theme_support( 'title-tag' );
}
endif; // apazit_setup
add_action( 'after_setup_theme', 'apazit_setup' );
/**
* Register widgetized area and update sidebar with default widgets.
*/
function apazit_widgets_init() {
register_sidebar( array(
'name' => esc_html__( 'Sidebar', 'apazit' ),
'id' => 'sidebar-1',
'before_widget' => '',
'before_title' => '',
));
register_sidebar(array(
'id' => 'home-widget-1',
'name' => esc_html__( 'Homepage Widget 1', 'apazit' ),
'description' => esc_html__( 'Displays on the Home Page', 'apazit' ),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'id' => 'home-widget-2',
'name' => esc_html__( 'Homepage Widget 2', 'apazit' ),
'description' => esc_html__( 'Displays on the Home Page', 'apazit' ),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'id' => 'home-widget-3',
'name' => esc_html__( 'Homepage Widget 3', 'apazit' ),
'description' => esc_html__( 'Displays on the Home Page', 'apazit' ),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'id' => 'footer-widget-1',
'name' => esc_html__( 'Footer Widget 1', 'apazit' ),
'description' => esc_html__( 'Used for footer widget area', 'apazit' ),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'id' => 'footer-widget-2',
'name' => esc_html__( 'Footer Widget 2', 'apazit' ),
'description' => esc_html__( 'Used for footer widget area', 'apazit' ),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_sidebar(array(
'id' => 'footer-widget-3',
'name' => esc_html__( 'Footer Widget 3', 'apazit' ),
'description' => esc_html__( 'Used for footer widget area', 'apazit' ),
'before_widget' => '',
'after_widget' => '
',
'before_title' => '',
));
register_widget( 'apazit_social_widget' );
register_widget( 'apazit_popular_posts' );
register_widget( 'apazit_categories' );
}
add_action( 'widgets_init', 'apazit_widgets_init' );
/* --------------------------------------------------------------
Theme Widgets
-------------------------------------------------------------- */
require_once(get_template_directory() . '/inc/widgets/widget-categories.php');
require_once(get_template_directory() . '/inc/widgets/widget-social.php');
require_once(get_template_directory() . '/inc/widgets/widget-popular-posts.php');
/**
* This function removes inline styles set by WordPress gallery.
*/
function apazit_remove_gallery_css( $css ) {
return preg_replace( "##s", '', $css );
}
add_filter( 'gallery_style', 'apazit_remove_gallery_css' );
/**
* Enqueue scripts and styles.
*/
function apazit_scripts() {
// Add Bootstrap default CSS
wp_enqueue_style( 'apazit-bootstrap', get_template_directory_uri() . '/inc/css/bootstrap.min.css' );
// Add Font Awesome stylesheet
wp_enqueue_style( 'apazit-icons', get_template_directory_uri().'/inc/css/font-awesome.min.css' );
// Add Google Fonts
wp_register_style( 'apazit-fonts', '//fonts.googleapis.com/css?family=Open+Sans:400italic,400,600,700|Roboto+Slab:400,300,700');
wp_enqueue_style( 'apazit-fonts' );
// Add slider CSS only if is front page ans slider is enabled
if( ( is_home() || is_front_page() ) && of_get_option('apazit_slider_checkbox') == 1 ) {
wp_enqueue_style( 'flexslider-css', get_template_directory_uri().'/inc/css/flexslider.css' );
}
// Add main theme stylesheet
wp_enqueue_style( 'apazit-style', get_stylesheet_uri() );
// Add Modernizr for better HTML5 and CSS3 support
wp_enqueue_script('apazit-modernizr', get_template_directory_uri().'/inc/js/modernizr.min.js', array('jquery') );
// Add Bootstrap default JS
wp_enqueue_script('apazit-bootstrapjs', get_template_directory_uri().'/inc/js/bootstrap.min.js', array('jquery') );
if( ( is_home() || is_front_page() ) && of_get_option('apazit_slider_checkbox') == 1 ) {
// Add slider JS only if is front page ans slider is enabled
wp_enqueue_script( 'flexslider-js', get_template_directory_uri() . '/inc/js/flexslider.min.js', array('jquery'), '20140222', true );
// Flexslider customization
wp_enqueue_script( 'flexslider-customization', get_template_directory_uri() . '/inc/js/flexslider-custom.js', array('jquery', 'flexslider-js'), '20140716', true );
}
// Main theme related functions
wp_enqueue_script( 'apazit-functions', get_template_directory_uri() . '/inc/js/functions.min.js', array('jquery') );
// This one is for accessibility
wp_enqueue_script( 'apazit-skip-link-focus-fix', get_template_directory_uri() . '/inc/js/skip-link-focus-fix.js', array(), '20140222', true );
// Treaded comments
if ( is_singular() && comments_open() && get_option( 'thread_comments' ) ) {
wp_enqueue_script( 'comment-reply' );
}
}
add_action( 'wp_enqueue_scripts', 'apazit_scripts' );
/**
* Implement the Custom Header feature.
*/
require get_template_directory() . '/inc/custom-header.php';
/**
* Custom template tags for this theme.
*/
require get_template_directory() . '/inc/template-tags.php';
/**
* Custom functions that act independently of the theme templates.
*/
require get_template_directory() . '/inc/extras.php';
/**
* Customizer additions.
*/
require get_template_directory() . '/inc/customizer.php';
/**
* Metabox additions.
*/
require get_template_directory() . '/inc/metaboxes.php';
/**
* Load Jetpack compatibility file.
*/
require get_template_directory() . '/inc/jetpack.php';
/**
* Load custom nav walker
*/
require get_template_directory() . '/inc/navwalker.php';
/**
* Register Social Icon menu
*/
add_action( 'init', 'register_social_menu' );
function register_social_menu() {
register_nav_menu( 'social-menu', _x( 'Social Menu', 'nav menu location', 'apazit' ) );
}
/* Globals variables */
global $options_categories;
$options_categories = array();
$options_categories_obj = get_categories();
foreach ($options_categories_obj as $category) {
$options_categories[$category->cat_ID] = $category->cat_name;
}
global $site_layout;
$site_layout = array('side-pull-left' => esc_html__('Right Sidebar', 'apazit'),'side-pull-right' => esc_html__('Left Sidebar', 'apazit'),'no-sidebar' => esc_html__('No Sidebar', 'apazit'),'full-width' => esc_html__('Full Width', 'apazit'));
// Typography Options
global $typography_options;
$typography_options = array(
'sizes' => array( '6px' => '6px','10px' => '10px','12px' => '12px','14px' => '14px','15px' => '15px','16px' => '16px','18'=> '18px','20px' => '20px','24px' => '24px','28px' => '28px','32px' => '32px','36px' => '36px','42px' => '42px','48px' => '48px' ),
'faces' => array(
'arial' => 'Arial',
'verdana' => 'Verdana, Geneva',
'trebuchet' => 'Trebuchet',
'georgia' => 'Georgia',
'times' => 'Times New Roman',
'tahoma' => 'Tahoma, Geneva',
'Open Sans' => 'Open Sans',
'palatino' => 'Palatino',
'helvetica' => 'Helvetica',
'Helvetica Neue' => 'Helvetica Neue,Helvetica,Arial,sans-serif'
),
'styles' => array( 'normal' => 'Normal','bold' => 'Bold' ),
'color' => true
);
/**
* Helper function to return the theme option value.
* If no value has been saved, it returns $default.
* Needed because options are saved as serialized strings.
*
* Not in a class to support backwards compatibility in themes.
*/
if ( ! function_exists( 'of_get_option' ) ) :
function of_get_option( $name, $default = false ) {
$option_name = '';
// Get option settings from database
$options = get_option( 'apazit' );
// Return specific option
if ( isset( $options[$name] ) ) {
return $options[$name];
}
return $default;
}
endif;
/* WooCommerce Support Declaration */
if ( ! function_exists( 'apazit_woo_setup' ) ) :
/**
* Sets up theme defaults and registers support for various WordPress features.
*/
function apazit_woo_setup() {
/*
* Enable support for WooCemmerce.
*/
add_theme_support( 'woocommerce' );
}
endif; // apazit_woo_setup
add_action( 'after_setup_theme', 'apazit_woo_setup' );
if ( ! function_exists( 'get_woocommerce_page_id' ) ) :
/**
* Sets up theme defaults and registers support for various WordPress features.
*/
function get_woocommerce_page_id() {
if( is_shop() ){
return get_option( 'woocommerce_shop_page_id' );
}
elseif( is_cart() ){
return get_option( 'woocommerce_cart_page_id' );
}
elseif(is_checkout() ){
return get_option( 'woocommerce_checkout_page_id' );
}
elseif(is_checkout_pay_page() ){
return get_option( 'woocommerce_pay_page_id' );
}
elseif(is_account_page() ){
return get_option( 'woocommerce_myaccount_page_id' );
}
return false;
}
endif;
/**
* is_it_woocommerce_page - Returns true if on a page which uses WooCommerce templates (cart and checkout are standard pages with shortcodes and which are also included)
*/
if ( ! function_exists( 'is_it_woocommerce_page' ) ) :
function is_it_woocommerce_page () {
if( function_exists ( "is_woocommerce" ) && is_woocommerce()){
return true;
}
$woocommerce_keys = array ( "woocommerce_shop_page_id" ,
"woocommerce_terms_page_id" ,
"woocommerce_cart_page_id" ,
"woocommerce_checkout_page_id" ,
"woocommerce_pay_page_id" ,
"woocommerce_thanks_page_id" ,
"woocommerce_myaccount_page_id" ,
"woocommerce_edit_address_page_id" ,
"woocommerce_view_order_page_id" ,
"woocommerce_change_password_page_id" ,
"woocommerce_logout_page_id" ,
"woocommerce_lost_password_page_id" ) ;
foreach ( $woocommerce_keys as $wc_page_id ) {
if ( get_the_ID () == get_option ( $wc_page_id , 0 ) ) {
return true ;
}
}
return false;
}
endif;
/**
* get_layout_class - Returns class name for layout i.e full-width, right-sidebar, left-sidebar etc )
*/
if ( ! function_exists( 'get_layout_class' ) ) :
function get_layout_class () {
global $post;
if( is_singular() && get_post_meta($post->ID, 'site_layout', true) && !is_singular( array( 'product' ) ) ){
$layout_class = get_post_meta($post->ID, 'site_layout', true);
}
elseif( function_exists ( "is_woocommerce" ) && function_exists ( "is_it_woocommerce_page" ) && is_it_woocommerce_page() && !is_search() ){// Check for WooCommerce
$page_id = ( is_product() ) ? $post->ID : get_woocommerce_page_id();
if( $page_id && get_post_meta($page_id, 'site_layout', true) ){
$layout_class = get_post_meta( $page_id, 'site_layout', true);
}
else{
$layout_class = of_get_option( 'woo_site_layout', 'full-width' );
}
}
else{
$layout_class = of_get_option( 'site_layout', 'side-pull-left' );
}
return $layout_class;
}
endif;