Create New Item
Item Type
File
Folder
Item Name
Search file in folder and subfolders...
Are you sure want to rename?
betrayful
/
wp
/
wp-content
/
themes
/
mediacenter
:
functions.php
Advanced Search
Upload
New Item
Settings
Back
Back Up
Advanced Editor
Save
<?php /** * MediaCenter engine room * * @package mediacenter */ /** * Initialize all things */ require get_template_directory() . '/inc/init.php'; /** * Note: Do not add any custom code here. Please use a child theme so that your customizations aren't lost during updates. * http://codex.wordpress.org/Child_Themes */ define( 'MC_TEMPLATE_PATH', get_template_directory() ); #----------------------------------------------------------------- # Includes #----------------------------------------------------------------- // Pagination function include_once get_template_directory() . '/framework/inc/pagination.php'; //WP Alchemy if( ! class_exists( 'WPAlchemy_MetaBox' ) ) { include_once get_template_directory() . '/framework/inc/wpalchemy/MetaBox-mod.php'; } if( ! class_exists( 'WPAlchemy_MediaAccess' ) ) { include_once get_template_directory() . '/framework/inc/wpalchemy/MediaAccess-mod.php'; } $wpalchemy_media_access = new WPAlchemy_MediaAccess(); //Include metaboxes include_once get_template_directory() . '/framework/metaboxes/mc-page-spec.php'; //Include Post Formats include_once get_template_directory() . '/framework/inc/post-formats/load.php'; function register_mc_widgets() { if ( class_exists( 'WC_Widget' ) ) { get_template_part( 'framework/widgets/class-mc-widget-brands-filter'); get_template_part( 'framework/widgets/class-mc-widget-vertical-menu'); } if ( class_exists( 'StaticBlockContent' ) && class_exists( 'WC_Widget' ) ) { get_template_part( 'framework/widgets/class-mc-static-block-widget'); } get_template_part( 'framework/widgets/class-mc-widget', 'recent-posts' ); } add_action( 'widgets_init', 'register_mc_widgets', 15 ); #----------------------------------------------------------------- # Rev Slider Setup #----------------------------------------------------------------- if( function_exists( 'set_revslider_as_theme' ) ){ set_revslider_as_theme(); } #----------------------------------------------------------------- # AJAX URL #----------------------------------------------------------------- add_action('wp_head','media_center_ajaxurl'); function media_center_ajaxurl() { ?> <script type="text/javascript"> var media_center_ajaxurl = '<?php echo admin_url('admin-ajax.php', 'relative'); ?>'; </script> <?php } #----------------------------------------------------------------- # Media Center Theme Setup #----------------------------------------------------------------- function iframe_the_content_filter( $content ){ $content = str_replace( '<iframe', '<div class="embed-responsive embed-responsive-16by9"><iframe', $content ); $content = str_replace( '</iframe>', '</iframe></div>', $content ); return $content; } add_filter( 'the_content', 'iframe_the_content_filter' ); #----------------------------------------------------------------- # WooCommerce Template Settings #----------------------------------------------------------------- require_once get_template_directory() . '/framework/inc/woocommerce-template-functions.php'; #----------------------------------------------------------------- # Media Center Blog Functions #----------------------------------------------------------------- require_once get_template_directory() . '/framework/inc/mediacenter-blog-functions.php'; #----------------------------------------------------------------- # Header #----------------------------------------------------------------- // Displays part of the header function media_center_display_header_part ( $part ){ get_template_part( 'framework/templates/header/' . $part ); } // Check to hide title function media_center_should_hide_title() { global $mc_page_metabox; $postID = get_the_ID(); $cart_page_ID = get_option( 'woocommerce_cart_page_id' ); return ( $mc_page_metabox->get_the_value( 'hide_title' ) === '1' ) || ( $cart_page_ID == $postID ); } #----------------------------------------------------------------- # The Breadcrumb #----------------------------------------------------------------- if( ! function_exists( 'media_center_get_category_parents' ) ) : function media_center_get_category_parents( $id, $link = false, $separator = '/', $nicename = false, $visited = array() ) { $category_parents = get_category_parents( $id, $link, $separator, $nicename, $visited ); if( is_wp_error( $category_parents ) ) { $category_parents = ''; } else { $category_parents = str_replace( '</a>', '</a></li>', str_replace( '<a', '<li><a', $category_parents ) ); } return $category_parents; } endif; if( ! function_exists( 'media_center_blog_link' ) ) : function media_center_blog_link() { $blog_page_link = ''; if ( get_option( 'show_on_front' ) == 'page' ){ $blog_page_ID = get_option( 'page_for_posts' ); $page = get_page( $blog_page_ID ); $blog_page_link = '<a href="' . get_permalink( $blog_page_ID ) . '">' . $page->post_title . '</a>'; } return $blog_page_link; } endif; get_template_part( 'framework/inc/mediacenter-breadcrumb' ); #----------------------------------------------------------------- # Navigation #----------------------------------------------------------------- // Top Bar Left Nav Menu if( ! function_exists( 'media_center_top_left_nav_menu' ) ) : function media_center_top_left_nav_menu(){ $enable_language_switcher = apply_filters( 'mc_is_top_bar_left_language_switcher', false ); $enable_currency_switcher = apply_filters( 'mc_is_top_bar_left_currency_switcher', false ); $top_left_menu = ''; $languages_menu = ''; $currencies_menu = ''; if( is_wpml_activated() ) { $languages_menu = $enable_language_switcher ? media_center_get_languages_menu() : ''; $currencies_menu = $enable_currency_switcher ? media_center_get_currencies_menu() : ''; } if ( has_nav_menu ( 'top-left' ) ) { $top_left_menu .= wp_nav_menu( array( 'menu' => 'top-left', 'theme_location' => 'top-left', 'depth' => 2, 'container' => false, 'menu_class' => 'top-left', 'echo' => 0 , 'walker' => new wp_bootstrap_navwalker(), 'items_wrap' => '%3$s', ) ); } else { $pages = get_pages( array( 'parent' => 0, 'number' => '5', ) ); foreach ( $pages as $page ){ $top_left_menu .= '<li><a href="' . get_permalink( $page->ID ) .'">' . $page->post_title . '</a></li>'; } } $top_left_menu = '<ul id="menu-top-left" class="top-left">' . $top_left_menu . $languages_menu . $currencies_menu . '</ul>'; return $top_left_menu ; } endif; // Top Bar Right Nav Menu if( ! function_exists( 'media_center_top_right_nav_menu' ) ) : function media_center_top_right_nav_menu(){ $enable_language_switcher = apply_filters( 'mc_is_top_bar_right_language_switcher', false ); $enable_currency_switcher = apply_filters( 'mc_is_top_bar_right_currency_switcher', false ); $top_right_menu = ''; $languages_menu = ''; $currencies_menu = ''; if( is_wpml_activated() ) { $languages_menu = $enable_language_switcher ? media_center_get_languages_menu() : ''; $currencies_menu = $enable_currency_switcher ? media_center_get_currencies_menu() : ''; } if ( has_nav_menu ( 'top-right' ) ) { $top_right_menu .= wp_nav_menu( array( 'menu' => 'top-right', 'theme_location' => 'top-right', 'depth' => 2, 'container' => false, 'menu_class' => 'right top-right', 'echo' => 0 , 'walker' => new wp_bootstrap_navwalker(), 'items_wrap' => '%3$s', ) ); } else { $top_right_menu .= media_center_woocommerce_pages( true, '', '') ; } $top_right_menu = '<ul class="right top-right">' . $languages_menu . $currencies_menu . $top_right_menu . '</ul>'; return $top_right_menu ; } endif; // Primary Navigation if( ! function_exists( 'media_center_primary_nav_menu' ) ) : function media_center_primary_nav_menu(){ $primary_nav_menu = ''; if ( has_nav_menu( 'primary' ) ) { $primary_nav_menu .= wp_nav_menu( array( 'menu' => 'primary', 'theme_location' => 'primary', 'depth' => 0, 'container' => false, 'menu_class' => 'navbar-nav nav', 'echo' => 0, 'walker' => new wp_bootstrap_navwalker() ) ); } else { $primary_nav_menu .= '<ul class="navbar-nav nav">'; $primary_nav_menu .= wp_list_categories( array( 'title_li' => '', 'hide_empty' => 1 , 'taxonomy' => 'product_cat', 'hierarchical' => 1 , 'echo' => 0 , 'depth' => 1 , ) ); $primary_nav_menu .= '</ul>'; } return $primary_nav_menu; } endif; // Departments Navigation if( ! function_exists( 'media_center_department_nav_menu' ) ) : function media_center_department_nav_menu(){ $department_nav_menu = ''; if ( has_nav_menu( 'departments' ) ) { $department_nav_menu .= wp_nav_menu( array( 'menu' => 'departments', 'theme_location' => 'departments', 'depth' => 0, 'container' => false, 'menu_class' => 'dropdown-menu', 'echo' => 0, 'walker' => new wp_bootstrap_navwalker() ) ); } else { $department_nav_menu .= '<ul class="dropdown-menu">'; $department_nav_menu .= wp_list_categories( array( 'title_li' => '', 'hide_empty' => 1 , 'taxonomy' => 'product_cat', 'depth' => 2 , 'echo' => 0 , 'walker' => new wp_bootstrap_categorieswalker(), 'dropdown_class' => 'submenu', ) ); $department_nav_menu .= '</ul>'; } return $department_nav_menu; } endif; if( ! function_exists( 'woocommerce_products_live_search' ) ) { function woocommerce_products_live_search() { if ( isset( $_REQUEST['fn'] ) && 'get_ajax_search' == $_REQUEST['fn'] ) { if( isset( $_REQUEST['terms'] ) ) { $term = $_REQUEST['terms']; } if ( empty( $term ) ) { echo json_encode( array() ); die(); } if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '2.7', '<' ) ) { $query_args = apply_filters( 'mc_live_search_query_args', array( 'posts_per_page' => 10, 'no_found_rows' => true, 'post_type' => 'product', 'post_status' => 'publish', 'meta_query' => array( array( 'key' => '_visibility', 'value' => array( 'search', 'visible' ), 'compare' => 'IN' ) ) ) ); $query_args['s'] = $term; $search_query = new WP_Query( $query_args ); $ids = wp_list_pluck( $search_query->posts, 'ID' ); $product_objects = array_map( 'wc_get_product', $ids ); } else { $data_store = WC_Data_Store::load( 'product' ); $ids = $data_store->search_products( $term, '', false ); if( ! empty( $ids ) ) { $product_objects = wc_get_products( apply_filters( 'mc_wc_live_search_query_args', array( 'status' => array( 'publish' ), 'orderby' => 'date', 'order' => 'DESC', 'limit' => 10, 'include' => $ids ) ) ); } } $results = array(); if( ! empty( $product_objects ) ) { foreach ( $product_objects as $product_object ) { $id = mc_wc_get_product_id( $product_object ); $title = get_the_title( $id ); $title = html_entity_decode( $title , ENT_QUOTES, 'UTF-8' ); $price = $product_object->get_price_html(); $brand = woocommerce_show_brand( $id, true ); if ( has_post_thumbnail( $id ) ) { $post_thumbnail_ID = get_post_thumbnail_id( $id ); $post_thumbnail_src = wp_get_attachment_image_src( $post_thumbnail_ID, 'thumbnail' ); } else{ $dimensions = wc_get_image_size( 'thumbnail' ); $post_thumbnail_src = array( wc_placeholder_img_src(), esc_attr( $dimensions['width'] ), esc_attr( $dimensions['height'] ) ); } $results[] = apply_filters( 'mc_live_search_results_args', array( 'value' => $title, 'url' => get_permalink( $id ), 'tokens' => explode( ' ', $title ), 'image' => $post_thumbnail_src[0], 'price' => $price, 'brand' => $brand, 'id' => $id ), $product_object ); } } wp_reset_postdata(); echo json_encode( $results ); } die(); } } add_action( 'wp_ajax_nopriv_products_live_search', 'woocommerce_products_live_search' ); add_action( 'wp_ajax_products_live_search', 'woocommerce_products_live_search' ); // Visual Composer with WooCommerce RTL issue fix if( ! function_exists( 'media_center_wc_vc_flexslider_fix' ) ) { function media_center_wc_vc_flexslider_fix() { if( is_woocommerce_activated() ) { $suffix = defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ? '' : '.min'; wp_deregister_script( 'flexslider' ); wp_register_script( 'flexslider', plugins_url( 'assets/js/flexslider/jquery.flexslider' . $suffix . '.js', WC_PLUGIN_FILE ), array( 'jquery' ), '2.6.1', true ); } } } add_action( 'vc_base_register_front_js', 'media_center_wc_vc_flexslider_fix' );