'; echo ' '; echo ''; } } // Load main options panel file require_once (TEMPLATEPATH . '/inc/admin-menu.php'); /** * Include the TGM_Plugin_Activation class. */ require_once dirname( __FILE__ ) . '/pluginactivation/class-tgm-plugin-activation.php'; add_action( 'tgmpa_register', 'bigstore_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 bigstore_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 a private repo in your theme. array( 'name' => 'WooCommerce - excelling eCommerce', // The plugin name. 'slug' => 'WooCommerce', // The plugin slug (typically the folder name). 'source' => 'https://github.com/woothemes/woocommerce', // The plugin source. 'required' => true, // If false, the plugin is only 'recommended' instead of required. 'version' => '2.0.13', // E.g. 1.0.0. If set, the active plugin must be this version or higher. 'external_url' => 'https://downloads.wordpress.org/plugin/woocommerce.2.0.13.zip', // If set, overrides default API URL and points to an external URL. ), array( 'name' => 'Newsletter', // The plugin name. 'slug' => 'newsletter', // The plugin slug (typically the folder name). 'source' => 'https://downloads.wordpress.org/plugin/newsletter.zip', // The plugin source. 'required' => true, // If false, the plugin is only 'recommended' instead of required. 'version' => '3.8.4', // E.g. 1.0.0. If set, the active plugin must be this version or higher. 'external_url' => 'https://downloads.wordpress.org/plugin/newsletter.zip', // If set, overrides default API URL and points to an external URL. ), ); /** * 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' => __( 'Install Required Plugins', 'tgmpa' ), 'menu_title' => __( 'Install Plugins', 'tgmpa' ), 'installing' => __( 'Installing Plugin: %s', 'tgmpa' ), // %s = plugin name. 'oops' => __( 'Something went wrong with the plugin API.', 'tgmpa' ), 'notice_can_install_required' => _n_noop( 'This theme requires the following plugin: %1$s.', 'This theme requires the following plugins: %1$s.' ), // %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.' ), // %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.' ), // %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.' ), // %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.' ), // %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.' ), // %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.' ), // %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.' ), // %1$s = plugin name(s). 'install_link' => _n_noop( 'Begin installing plugin', 'Begin installing plugins' ), 'activate_link' => _n_noop( 'Begin activating plugin', 'Begin activating plugins' ), 'return' => __( 'Return to Required Plugins Installer', 'tgmpa' ), 'plugin_activated' => __( 'Plugin activated successfully.', 'tgmpa' ), 'complete' => __( 'All plugins installed and activated successfully. %s', 'tgmpa' ), // %s = dashboard link. 'nag_type' => 'updated' // Determines admin notice type - can only be 'updated', 'update-nag' or 'error'. ) ); tgmpa( $plugins, $config ); } add_theme_support( 'custom-header', array( 'default-image' => get_template_directory_uri() . '/images/logo.png', 'width' => 70, 'height' => 70, 'flex-width' => true, 'flex-height' => true, 'header-text' => false, ) ); /** * Set the content width based on the theme's design and stylesheet. */ if ( ! isset( $content_width ) ) $content_width = 980; /** * Tell WordPress to run bigstore_setup() when the 'after_setup_theme' hook is run. */ add_action( 'after_setup_theme', 'bigstore_setup' ); if ( ! function_exists( 'bigstore_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 post thumbnails. * * To override bigstore_setup() in a child theme, add your own bigstore_setup to your child theme's * functions.php file. * * @uses load_theme_textdomain() For translation/localization support. * @uses add_editor_style() To style the visual editor. * @uses add_theme_support() To add support for post thumbnails, automatic feed links, custom headers * and backgrounds, and post formats. * @uses register_nav_menus() To add support for navigation menus. * @uses register_default_headers() To register the default custom header images provided with the theme. * @uses set_post_thumbnail_size() To set a custom post thumbnail size. * * @since bigstore */ function bigstore_setup() { /* Make bigstore available for translation. * Translations can be added to the /languages/ directory. * If you're building a theme based on bigstore, use a find and replace * to change 'bigstore' to the name of your theme in all the template files. */ load_theme_textdomain( 'bigstore', get_template_directory() . '/languages' ); // This theme styles the visual editor with editor-style.css to match the theme style. add_editor_style(); // Add default posts and comments RSS feed links to . add_theme_support( 'automatic-feed-links' ); // This theme uses wp_nav_menu() in one location. register_nav_menu( 'primary', __( 'Primary Menu', 'bigstore' ) ); register_nav_menu( 'information', __( 'Footer First Menu', 'bigstore' ) ); register_nav_menu( 'servise', __( 'Footer Second Menu', 'bigstore' ) ); register_nav_menu( 'my-account', __( 'Footer Third Menu', 'bigstore' ) ); // Add support for a variety of post formats add_theme_support( 'post-formats', array( 'aside', 'link', 'gallery', 'status', 'quote', 'image' ) ); // This theme uses Featured Images (also known as post thumbnails) for per-post/per-page Custom Header images add_theme_support( 'post-thumbnails' ); add_theme_support( 'woocommerce' ); } endif; // bigstore_setup /** * Sets the post excerpt length to 40 words. * * To override this length in a child theme, remove the filter and add your own * function tied to the excerpt_length filter hook. */ function bigstore_excerpt_length( $length ) { return 40; } add_filter( 'excerpt_length', 'bigstore_excerpt_length' ); if ( ! function_exists( 'bigstore_continue_reading_link' ) ) : /** * Returns a "Continue Reading" link for excerpts */ function bigstore_continue_reading_link() { return ' ' . __( 'Continue reading ', 'bigstore' ) . ''; } endif; // bigstore_continue_reading_link /** * Replaces "[...]" (appended to automatically generated excerpts) with an ellipsis and bigstore_continue_reading_link(). * * To override this in a child theme, remove the filter and add your own * function tied to the excerpt_more filter hook. */ function bigstore_auto_excerpt_more( $more ) { return ' …' . bigstore_continue_reading_link(); } add_filter( 'excerpt_more', 'bigstore_auto_excerpt_more' ); /** * Adds a pretty "Continue Reading" link to custom post excerpts. * * To override this link in a child theme, remove the filter and add your own * function tied to the get_the_excerpt filter hook. */ function bigstore_custom_excerpt_more( $output ) { if ( has_excerpt() && ! is_attachment() ) { $output .= bigstore_continue_reading_link(); } return $output; } add_filter( 'get_the_excerpt', 'bigstore_custom_excerpt_more' ); /** * Get our wp_nav_menu() fallback, wp_page_menu(), to show a home link. */ function bigstore_page_menu_args( $args ) { if ( ! isset( $args['show_home'] ) ) $args['show_home'] = true; return $args; } add_filter( 'wp_page_menu_args', 'bigstore_page_menu_args' ); /** * Register our sidebars and widgetized areas. Also register the default Epherma widget. * * @since bigstore */ function bigstore_widgets_init() { register_sidebar( array( 'name' => __( 'Main Sidebar', 'bigstore' ), 'id' => 'sidebar-1', 'before_widget' => '", 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Sidebar Blog', 'bigstore' ), 'id' => 'sidebar-blog', 'before_widget' => '", 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Home First Column', 'bigstore' ), 'id' => 'bottom-block-1', 'description' => __( 'An optional widget area for your site footer', 'bigstore' ), 'before_widget' => '
', 'after_widget' => "
", 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Home Second Column', 'bigstore' ), 'id' => 'bottom-block-2', 'description' => __( 'An optional widget area for your site footer', 'bigstore' ), 'before_widget' => '
', 'after_widget' => "
", 'before_title' => '

', 'after_title' => '

', ) ); register_sidebar( array( 'name' => __( 'Home Third Column', 'bigstore' ), 'id' => 'bottom-block-3', 'description' => __( 'An optional widget area for your site footer', 'bigstore' ), 'before_widget' => '
', 'after_widget' => "
", 'before_title' => '

', 'after_title' => '

', ) ); } add_action( 'widgets_init', 'bigstore_widgets_init' ); if ( ! function_exists( 'bigstore_content_nav' ) ) : /** * Display navigation to next/previous pages when applicable */ function bigstore_content_nav( $html_id ) { global $wp_query; if ( $wp_query->max_num_pages > 1 ) : ?> ]*?href=[\'"](.+?)[\'"]/is', get_the_content(), $matches ) ) return false; return esc_url_raw( $matches[1] ); } /** * Count the number of footer sidebars to enable dynamic classes for the footer */ function bigstore_footer_sidebar_class() { $count = 0; if ( is_active_sidebar( 'sidebar-3' ) ) $count++; if ( is_active_sidebar( 'sidebar-4' ) ) $count++; if ( is_active_sidebar( 'sidebar-5' ) ) $count++; $class = ''; switch ( $count ) { case '1': $class = 'one'; break; case '2': $class = 'two'; break; case '3': $class = 'three'; break; } if ( $class ) echo 'class="' . $class . '"'; } if ( ! function_exists( 'bigstore_comment' ) ) : /** * Template for comments and pingbacks. * * To override this walker in a child theme without modifying the comments template * simply create your own bigstore_comment(), and that function will be used instead. * * Used as a callback by wp_list_comments() for displaying the comments. * * @since bigstore */ function bigstore_comment( $comment, $args, $depth ) { $GLOBALS['comment'] = $comment; switch ( $comment->comment_type ) : case 'pingback' : case 'trackback' : ?>
  • ', '' ); ?>

  • id="li-comment-">
    comment_parent ) $avatar_size = 39; echo get_avatar( $comment, $avatar_size ); /* translators: 1: comment author, 2: date and time */ printf( __( '%1$s on %2$s said:', 'bigstore' ), sprintf( '%s', get_comment_author_link() ), sprintf( '', esc_url( get_comment_link( $comment->comment_ID ) ), get_comment_time( 'c' ), /* translators: 1: date, 2: time */ sprintf( __( '%1$s at %2$s', 'bigstore' ), get_comment_date(), get_comment_time() ) ) ); ?> ', '' ); ?>
    comment_approved == '0' ) : ?>
    __( 'Reply ', 'bigstore' ), 'depth' => $depth, 'max_depth' => $args['max_depth'] ) ) ); ?>
    Posted on by ', 'bigstore' ), esc_url( get_permalink() ), esc_attr( get_the_time() ), esc_attr( get_the_date( 'c' ) ), esc_html( get_the_date() ), esc_url( get_author_posts_url( get_the_author_meta( 'ID' ) ) ), esc_attr( sprintf( __( 'View all posts by %s', 'bigstore' ), get_the_author() ) ), get_the_author() ); } endif; /** * Adds two classes to the array of body classes. * The first is if the site has only had one author with published posts. * The second is if a singular post being displayed * * @since bigstore */ function bigstore_body_classes( $classes ) { if ( function_exists( 'is_multi_author' ) && ! is_multi_author() ) $classes[] = 'single-author'; if ( is_singular() && ! is_home() && ! is_page_template( 'showcase.php' ) && ! is_page_template( 'sidebar-page.php' ) ) $classes[] = 'singular'; return $classes; } add_filter( 'body_class', 'bigstore_body_classes' ); if ( version_compare( WOOCOMMERCE_VERSION, "2.1" ) >= 0 ) { add_filter( 'woocommerce_enqueue_styles', '__return_false' ); } else { define( 'WOOCOMMERCE_USE_CSS', false ); } if ( ! function_exists( 'query_post_type' ) ) : add_filter('pre_get_posts', 'query_post_type'); function query_post_type($query) { $post_types = get_post_types(); if ( is_category() || is_tag()) { $post_type = get_query_var('slides'); if ( $post_type ) $post_type = $post_type; else $post_type = $post_types; $query->set('post_type', $post_type); return $query; } } endif; if ( function_exists( 'add_image_size' ) ) { add_image_size( 'post_thumbnail', 52, 52, TRUE ); add_image_size( 'post_main_thumbnail', 325, 290, TRUE ); add_image_size( 'product_image', 294, 294, TRUE ); add_image_size( 'product_small_image', 64, 64, TRUE ); } add_action( 'wp_enqueue_scripts', 'remove_gridlist_styles', 30 ); function remove_gridlist_styles() { wp_dequeue_style( 'grid-list-button' ); wp_dequeue_style( 'grid-list-layout' ); }