├── .editorconfig ├── .gitignore ├── .jshintrc ├── 404.php ├── Gruntfile.js ├── archive.php ├── comments.php ├── css ├── customize-controls.css ├── prettyPhoto.css ├── prettyPhoto.min.css └── responsive.css ├── font-awesome ├── css │ ├── font-awesome.css │ └── font-awesome.min.css └── fonts │ ├── FontAwesome.otf │ ├── fontawesome-webfont.eot │ ├── fontawesome-webfont.svg │ ├── fontawesome-webfont.ttf │ ├── fontawesome-webfont.woff │ └── fontawesome-webfont.woff2 ├── footer.php ├── functions.php ├── header.php ├── images ├── placeholder-blog-380x250.jpg ├── placeholder-blog.jpg ├── placeholder-shop-380x250.jpg ├── placeholder-shop.jpg └── prettyPhoto │ ├── dark_rounded │ ├── btnNext.png │ ├── btnPrevious.png │ ├── contentPattern.png │ ├── default_thumbnail.gif │ ├── loader.gif │ └── sprite.png │ ├── dark_square │ ├── btnNext.png │ ├── btnPrevious.png │ ├── contentPattern.png │ ├── default_thumbnail.gif │ ├── loader.gif │ └── sprite.png │ ├── default │ ├── default_thumb.png │ ├── loader.gif │ ├── sprite.png │ ├── sprite_next.png │ ├── sprite_prev.png │ ├── sprite_x.png │ └── sprite_y.png │ ├── facebook │ ├── btnNext.png │ ├── btnPrevious.png │ ├── contentPatternBottom.png │ ├── contentPatternLeft.png │ ├── contentPatternRight.png │ ├── contentPatternTop.png │ ├── default_thumbnail.gif │ ├── loader.gif │ └── sprite.png │ ├── light_rounded │ ├── btnNext.png │ ├── btnPrevious.png │ ├── default_thumbnail.gif │ ├── loader.gif │ └── sprite.png │ └── light_square │ ├── btnNext.png │ ├── btnPrevious.png │ ├── default_thumbnail.gif │ ├── loader.gif │ └── sprite.png ├── img ├── estore-logo.png └── themegrill-logo.jpg ├── inc ├── admin │ ├── class-estore-admin.php │ ├── class-estore-dashboard.php │ ├── class-estore-notice.php │ ├── class-estore-theme-review-notice.php │ ├── class-estore-upgrade-notice.php │ ├── class-estore-welcome-notice.php │ ├── css │ │ └── admin.css │ ├── customize-image-radio-control.php │ ├── customize-texteditor-control.php │ ├── images │ │ ├── eStore-square-logo.png │ │ ├── left-sidebar.png │ │ ├── no-sidebar-content-centered-layout.png │ │ ├── no-sidebar-full-width-layout.png │ │ └── right-sidebar.png │ ├── js │ │ └── plugin-handle.js │ └── meta-boxes.php ├── custom-header.php ├── customizer.php ├── estore.php ├── functions.php ├── helpers.php ├── jetpack.php ├── related-posts.php ├── widgets.php ├── widgets │ ├── class-estore-728x90-ad.php │ ├── class-estore-about.php │ ├── class-estore-featured-posts-carousel-widget.php │ ├── class-estore-featured-posts-slider-widget.php │ ├── class-estore-featured-posts-widget.php │ ├── class-estore-full-width-promo-widget.php │ ├── class-estore-posts-grid.php │ ├── class-estore-vertical-promo-widget.php │ ├── class-estore-woocommerce-full-width-promo-widget.php │ ├── class-estore-woocommerce-product-carousel.php │ ├── class-estore-woocommerce-product-grid.php │ ├── class-estore-woocommerce-product-slider.php │ ├── class-estore-woocommerce-vertical-promo-widget.php │ └── classs-estore-logo-widget.php └── woocommerce.php ├── index.php ├── js ├── custom.js ├── custom.min.js ├── customize-controls.js ├── customizer.js ├── image-uploader.js ├── jquery.bxslider.js ├── jquery.bxslider.min.js ├── jquery.prettyPhoto.init.js ├── jquery.prettyPhoto.init.min.js ├── jquery.prettyPhoto.js ├── jquery.prettyPhoto.min.js ├── metabox-toggle.js ├── skip-link-focus-fix.js ├── superfish.js └── superfish.min.js ├── languages └── estore.pot ├── navigation.php ├── no-results.php ├── package-lock.json ├── package.json ├── page-templates ├── template-estore-home.php └── template-wc-collection.php ├── page.php ├── price.php ├── readme.txt ├── rtl.css ├── sass ├── _normalize.scss ├── grid │ └── _grid.scss ├── layout │ └── _layout.scss ├── site │ ├── _site.scss │ └── secondary │ │ └── _widgets.scss ├── style.scss ├── theme │ ├── _theme.scss │ ├── blog │ │ └── _blog.scss │ ├── custom-mixing │ │ └── _custom-mixing.scss │ ├── footer │ │ └── _footer.scss │ ├── header-media │ │ └── _header-media.scss │ ├── header │ │ ├── _bottom-header.scss │ │ ├── _header-cart-popup.scss │ │ ├── _menu.scss │ │ ├── _middle-header.scss │ │ ├── _search-user.scss │ │ └── _top-header.scss │ ├── inner-page │ │ ├── _404.scss │ │ ├── _cart.scss │ │ ├── _checkout.scss │ │ ├── _info.scss │ │ └── _wishlist.scss │ ├── products │ │ ├── _collection.scss │ │ ├── _single-product.scss │ │ └── _woocommerce-sidebar.scss │ ├── section │ │ ├── _about.scss │ │ ├── _featured.scss │ │ ├── _index-blog.scss │ │ ├── _men-collection.scss │ │ ├── _section-title.scss │ │ └── _thumb-collection.scss │ ├── slider │ │ └── _slider.scss │ └── tags │ │ └── _tags.scss └── variables-site │ ├── _colors.scss │ ├── _structure.scss │ ├── _typography.scss │ └── _variables-site.scss ├── screenshot.jpg ├── search.php ├── searchform.php ├── sidebar-footer.php ├── sidebar-header.php ├── sidebar-left.php ├── sidebar-shop.php ├── sidebar.php ├── single.php ├── style-editor-block.css ├── style.css ├── template-parts ├── content-none.php ├── content-page.php ├── content-single.php └── content.php ├── woocommerce ├── add-to-wishlist-button.php ├── add-to-wishlist.php ├── archive-product.php ├── cart │ ├── cart-totals.php │ └── cross-sells.php ├── checkout │ ├── form-billing.php │ ├── form-checkout.php │ └── form-login.php ├── content-product.php ├── content-single-product.php ├── global │ ├── wrapper-end.php │ └── wrapper-start.php ├── loop │ ├── add-to-cart.php │ ├── price.php │ └── rating.php ├── single-product.php ├── single-product │ ├── price.php │ └── related.php └── taxonomy-product_cat.php └── wpml-config.xml /.editorconfig: -------------------------------------------------------------------------------- 1 | # This file is for unifying the coding style for different editors and IDEs 2 | # editorconfig.org 3 | 4 | # WordPress Coding Standards 5 | # http://make.wordpress.org/core/handbook/coding-standards/ 6 | 7 | root = true 8 | 9 | [*] 10 | charset = utf-8 11 | end_of_line = lf 12 | indent_size = 4 13 | tab_width = 4 14 | indent_style = tab 15 | insert_final_newline = true 16 | trim_trailing_whitespace = true 17 | 18 | [*.txt] 19 | trim_trailing_whitespace = false 20 | 21 | [*.{md,json,yml}] 22 | trim_trailing_whitespace = false 23 | indent_style = space 24 | indent_size = 2 25 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | # Editors 2 | project.xml 3 | project.properties 4 | /nbproject/private/ 5 | .buildpath 6 | .project 7 | .settings* 8 | .idea 9 | 10 | # Sass 11 | .sass-cache 12 | .sass-cache/* 13 | 14 | # Dist folder 15 | /dist/ 16 | 17 | # Grunt 18 | /node_modules/ 19 | /deploy/ 20 | 21 | # OS X metadata 22 | .DS_Store 23 | 24 | # Windows junk 25 | Thumbs.db 26 | -------------------------------------------------------------------------------- /.jshintrc: -------------------------------------------------------------------------------- 1 | { 2 | "boss": true, 3 | "curly": true, 4 | "eqeqeq": true, 5 | "eqnull": true, 6 | "es3": true, 7 | "expr": true, 8 | "immed": true, 9 | "noarg": true, 10 | "onevar": true, 11 | "quotmark": "single", 12 | "trailing": true, 13 | "undef": true, 14 | "unused": true, 15 | 16 | "browser": true, 17 | 18 | "globals": { 19 | "_": false, 20 | "Backbone": false, 21 | "jQuery": false, 22 | "JSON": false, 23 | "wp": false 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /404.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 16 | 17 |
18 | 24 |
25 |
26 |
27 |
28 |
29 | 30 | 31 |
32 | 33 | 34 | 35 | 36 |
37 |
38 |

39 |
40 | 41 |

42 | 43 |
44 | 45 |
46 | 47 |
48 |
49 |
50 | 51 |
52 |
53 |
54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /Gruntfile.js: -------------------------------------------------------------------------------- 1 | /* jshint node:true */ 2 | module.exports = function( grunt ){ 3 | 'use strict'; 4 | 5 | grunt.initConfig({ 6 | 7 | // Setting folder templates. 8 | dirs: { 9 | js: 'js', 10 | css: 'sass' 11 | }, 12 | 13 | // JavaScript linting with JSHint. 14 | jshint: { 15 | options: { 16 | jshintrc: '.jshintrc' 17 | }, 18 | all: [ 19 | 'Gruntfile.js', 20 | '<%= dirs.js %>/*.js', 21 | '!<%= dirs.js %>/*.min.js', 22 | '!<%= dirs.js %>/html5shiv.js', 23 | '!<%= dirs.js %>/jquery.bxslider.js' 24 | ] 25 | }, 26 | 27 | // Minify all .js files. 28 | uglify: { 29 | options: { 30 | // Preserve comments that start with a bang. 31 | preserveComments: /^!/ 32 | }, 33 | dist: { 34 | files: [{ 35 | expand: true, 36 | cwd: '<%= dirs.js %>/', 37 | src: [ 38 | 'custom.js', 39 | '!*.min.js' 40 | ], 41 | dest: '<%= dirs.js %>/', 42 | ext: '.min.js' 43 | }] 44 | } 45 | }, 46 | 47 | // Compile all .scss files. 48 | sass: { 49 | options: { 50 | sourceMap: false 51 | }, 52 | compile: { 53 | files: [{ 54 | expand: true, 55 | cwd: '<%= dirs.css %>/', 56 | src: ['*.scss'], 57 | dest: '', 58 | ext: '.css' 59 | }] 60 | } 61 | }, 62 | 63 | postcss: { 64 | options: { 65 | processors: require( 'autoprefixer' )({browsers: ['last 4 version', '> 10%', '> 5% in US']}) 66 | }, 67 | dist:{ 68 | files:{ 69 | 'style.css':'style.css' 70 | } 71 | } 72 | }, 73 | 74 | // Watch changes for assets. 75 | watch: { 76 | css: { 77 | files: [ 78 | '<%= dirs.css %>/*.scss', 79 | '<%= dirs.css %>/**/*.scss' 80 | ], 81 | tasks: ['sass', 'postcss'] 82 | }, 83 | js: { 84 | files: [ 85 | '<%= dirs.js %>/*.js', 86 | '!<%= dirs.js %>/*.min.js' 87 | ], 88 | tasks: ['jshint', 'uglify'] 89 | } 90 | }, 91 | 92 | // Generate POT files. 93 | makepot: { 94 | dist: { 95 | options: { 96 | type: 'wp-theme', 97 | domainPath: 'languages', 98 | potFilename: 'estore.pot', 99 | potHeaders: { 100 | 'report-msgid-bugs-to': 'themegrill@gmail.com', 101 | 'language-team': 'ThemeGrill ' 102 | } 103 | } 104 | } 105 | }, 106 | 107 | // Check textdomain errors. 108 | checktextdomain: { 109 | options: { 110 | text_domain: 'estore', 111 | keywords: [ 112 | '__:1,2d', 113 | '_e:1,2d', 114 | '_x:1,2c,3d', 115 | 'esc_html__:1,2d', 116 | 'esc_html_e:1,2d', 117 | 'esc_html_x:1,2c,3d', 118 | 'esc_attr__:1,2d', 119 | 'esc_attr_e:1,2d', 120 | 'esc_attr_x:1,2c,3d', 121 | '_ex:1,2c,3d', 122 | '_n:1,2,4d', 123 | '_nx:1,2,4c,5d', 124 | '_n_noop:1,2,3d', 125 | '_nx_noop:1,2,3c,4d' 126 | ] 127 | }, 128 | files: { 129 | src: [ 130 | '**/*.php', 131 | '!node_modules/**' 132 | ], 133 | expand: true 134 | } 135 | }, 136 | 137 | // Compress files and folders. 138 | compress: { 139 | options: { 140 | archive: 'dist/estore.zip' 141 | }, 142 | files: { 143 | src: [ 144 | '**', 145 | '!.*', 146 | '!*.md', 147 | '!*.zip', 148 | '!dist', 149 | '!.*/**', 150 | '!Gruntfile.js', 151 | '!package.json', 152 | '!node_modules/**' 153 | ], 154 | dest: 'estore', 155 | expand: true 156 | } 157 | } 158 | }); 159 | 160 | // Load NPM tasks to be used here 161 | grunt.loadNpmTasks( 'grunt-sass' ); 162 | grunt.loadNpmTasks( 'grunt-postcss' ); 163 | grunt.loadNpmTasks( 'grunt-wp-i18n' ); 164 | grunt.loadNpmTasks( 'grunt-glotpress' ); 165 | grunt.loadNpmTasks( 'grunt-checktextdomain' ); 166 | grunt.loadNpmTasks( 'grunt-contrib-jshint' ); 167 | grunt.loadNpmTasks( 'grunt-contrib-uglify' ); 168 | grunt.loadNpmTasks( 'grunt-contrib-cssmin' ); 169 | grunt.loadNpmTasks( 'grunt-contrib-watch' ); 170 | grunt.loadNpmTasks( 'grunt-contrib-compress' ); 171 | 172 | // Register tasks 173 | grunt.registerTask( 'default', [ 174 | 'css', 175 | 'jshint', 176 | 'uglify' 177 | ]); 178 | 179 | grunt.registerTask( 'css', [ 180 | 'sass', 181 | 'postcss' 182 | ]); 183 | 184 | grunt.registerTask( 'dev', [ 185 | 'default', 186 | 'makepot' 187 | ]); 188 | 189 | grunt.registerTask( 'zip', [ 190 | 'dev', 191 | 'compress' 192 | ]); 193 | }; 194 | -------------------------------------------------------------------------------- /archive.php: -------------------------------------------------------------------------------- 1 | 11 | 12 | 16 | 17 |
18 | 26 |
27 |
28 |
29 |
30 | 31 | 32 | 33 | 49 |
50 | 51 |
52 |
53 | 54 | 55 | 56 | 57 | 58 | -------------------------------------------------------------------------------- /comments.php: -------------------------------------------------------------------------------- 1 | 24 | 25 |
26 | 27 | 28 | 29 | 30 |

31 | ' . get_the_title() . '' 36 | ); 37 | ?> 38 |

39 | 40 | 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?> 41 | 50 | 51 | 52 |
    53 | 'ol', 56 | 'short_ping' => true, 57 | ) ); 58 | ?> 59 |
60 | 61 | 1 && get_option( 'page_comments' ) ) : // Are there comments to navigate through? ?> 62 | 71 | 72 | 73 | 74 | 75 | 79 |

80 | 81 | 82 | 83 | 84 |
85 | -------------------------------------------------------------------------------- /css/customize-controls.css: -------------------------------------------------------------------------------- 1 | /** 2 | * Editor control CSS 3 | */ 4 | 5 | .customize-control-estore-editor .wp-editor-tools .wp-editor-container textarea { 6 | width: 100%; 7 | } 8 | -------------------------------------------------------------------------------- /font-awesome/fonts/FontAwesome.otf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/font-awesome/fonts/FontAwesome.otf -------------------------------------------------------------------------------- /font-awesome/fonts/fontawesome-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/font-awesome/fonts/fontawesome-webfont.eot -------------------------------------------------------------------------------- /font-awesome/fonts/fontawesome-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/font-awesome/fonts/fontawesome-webfont.ttf -------------------------------------------------------------------------------- /font-awesome/fonts/fontawesome-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/font-awesome/fonts/fontawesome-webfont.woff -------------------------------------------------------------------------------- /font-awesome/fonts/fontawesome-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/font-awesome/fonts/fontawesome-webfont.woff2 -------------------------------------------------------------------------------- /footer.php: -------------------------------------------------------------------------------- 1 | tag. 6 | * 7 | * @package ThemeGrill 8 | * @subpackage eStore 9 | * @since eStore 0.1 10 | */ 11 | ?> 12 | 13 | 44 | 45 | 46 | 47 | 48 | 49 | -------------------------------------------------------------------------------- /images/placeholder-blog-380x250.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/placeholder-blog-380x250.jpg -------------------------------------------------------------------------------- /images/placeholder-blog.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/placeholder-blog.jpg -------------------------------------------------------------------------------- /images/placeholder-shop-380x250.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/placeholder-shop-380x250.jpg -------------------------------------------------------------------------------- /images/placeholder-shop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/placeholder-shop.jpg -------------------------------------------------------------------------------- /images/prettyPhoto/dark_rounded/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_rounded/btnNext.png -------------------------------------------------------------------------------- /images/prettyPhoto/dark_rounded/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_rounded/btnPrevious.png -------------------------------------------------------------------------------- /images/prettyPhoto/dark_rounded/contentPattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_rounded/contentPattern.png -------------------------------------------------------------------------------- /images/prettyPhoto/dark_rounded/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_rounded/default_thumbnail.gif -------------------------------------------------------------------------------- /images/prettyPhoto/dark_rounded/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_rounded/loader.gif -------------------------------------------------------------------------------- /images/prettyPhoto/dark_rounded/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_rounded/sprite.png -------------------------------------------------------------------------------- /images/prettyPhoto/dark_square/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_square/btnNext.png -------------------------------------------------------------------------------- /images/prettyPhoto/dark_square/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_square/btnPrevious.png -------------------------------------------------------------------------------- /images/prettyPhoto/dark_square/contentPattern.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_square/contentPattern.png -------------------------------------------------------------------------------- /images/prettyPhoto/dark_square/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_square/default_thumbnail.gif -------------------------------------------------------------------------------- /images/prettyPhoto/dark_square/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_square/loader.gif -------------------------------------------------------------------------------- /images/prettyPhoto/dark_square/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/dark_square/sprite.png -------------------------------------------------------------------------------- /images/prettyPhoto/default/default_thumb.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/default/default_thumb.png -------------------------------------------------------------------------------- /images/prettyPhoto/default/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/default/loader.gif -------------------------------------------------------------------------------- /images/prettyPhoto/default/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/default/sprite.png -------------------------------------------------------------------------------- /images/prettyPhoto/default/sprite_next.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/default/sprite_next.png -------------------------------------------------------------------------------- /images/prettyPhoto/default/sprite_prev.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/default/sprite_prev.png -------------------------------------------------------------------------------- /images/prettyPhoto/default/sprite_x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/default/sprite_x.png -------------------------------------------------------------------------------- /images/prettyPhoto/default/sprite_y.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/default/sprite_y.png -------------------------------------------------------------------------------- /images/prettyPhoto/facebook/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/facebook/btnNext.png -------------------------------------------------------------------------------- /images/prettyPhoto/facebook/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/facebook/btnPrevious.png -------------------------------------------------------------------------------- /images/prettyPhoto/facebook/contentPatternBottom.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/facebook/contentPatternBottom.png -------------------------------------------------------------------------------- /images/prettyPhoto/facebook/contentPatternLeft.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/facebook/contentPatternLeft.png -------------------------------------------------------------------------------- /images/prettyPhoto/facebook/contentPatternRight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/facebook/contentPatternRight.png -------------------------------------------------------------------------------- /images/prettyPhoto/facebook/contentPatternTop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/facebook/contentPatternTop.png -------------------------------------------------------------------------------- /images/prettyPhoto/facebook/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/facebook/default_thumbnail.gif -------------------------------------------------------------------------------- /images/prettyPhoto/facebook/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/facebook/loader.gif -------------------------------------------------------------------------------- /images/prettyPhoto/facebook/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/facebook/sprite.png -------------------------------------------------------------------------------- /images/prettyPhoto/light_rounded/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_rounded/btnNext.png -------------------------------------------------------------------------------- /images/prettyPhoto/light_rounded/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_rounded/btnPrevious.png -------------------------------------------------------------------------------- /images/prettyPhoto/light_rounded/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_rounded/default_thumbnail.gif -------------------------------------------------------------------------------- /images/prettyPhoto/light_rounded/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_rounded/loader.gif -------------------------------------------------------------------------------- /images/prettyPhoto/light_rounded/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_rounded/sprite.png -------------------------------------------------------------------------------- /images/prettyPhoto/light_square/btnNext.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_square/btnNext.png -------------------------------------------------------------------------------- /images/prettyPhoto/light_square/btnPrevious.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_square/btnPrevious.png -------------------------------------------------------------------------------- /images/prettyPhoto/light_square/default_thumbnail.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_square/default_thumbnail.gif -------------------------------------------------------------------------------- /images/prettyPhoto/light_square/loader.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_square/loader.gif -------------------------------------------------------------------------------- /images/prettyPhoto/light_square/sprite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/images/prettyPhoto/light_square/sprite.png -------------------------------------------------------------------------------- /img/estore-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/img/estore-logo.png -------------------------------------------------------------------------------- /img/themegrill-logo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/img/themegrill-logo.jpg -------------------------------------------------------------------------------- /inc/admin/class-estore-admin.php: -------------------------------------------------------------------------------- 1 | esc_url( admin_url( '/themes.php?page=demo-importer&browse=all&estore-hide-notice=welcome' ) ), 39 | 'btn_text' => esc_html__( 'Processing...', 'estore' ), 40 | 'nonce' => wp_create_nonce( 'estore_demo_import_nonce' ), 41 | ); 42 | 43 | wp_localize_script( 'estore-plugin-install-helper', 'estoreRedirectDemoPage', $welcome_data ); 44 | } 45 | /** 46 | * Show welcome notice. 47 | */ 48 | public function welcome_notice() { 49 | ?> 50 |
51 | 52 | 53 | 54 | 55 |
56 | 59 | 60 |

61 | ', '' ); ?> 62 | 63 | 64 |

65 | 66 |
67 | 68 |
69 |
70 |
71 | setup_hooks(); 27 | } 28 | 29 | private function setup_hooks() { 30 | add_action( 'admin_menu', array( $this, 'create_menu' ) ); 31 | } 32 | 33 | public function create_menu() { 34 | 35 | if ( is_child_theme() ) { 36 | $theme = wp_get_theme()->parent(); 37 | } else { 38 | $theme = wp_get_theme(); 39 | } 40 | 41 | /* translators: %s: Theme Name. */ 42 | $theme_page_name = sprintf( esc_html__( '%s Options', 'estore' ), $theme->Name ); 43 | 44 | add_theme_page( 45 | $theme_page_name, 46 | $theme_page_name, 47 | 'edit_theme_options', 48 | 'estore-options', 49 | array( 50 | $this, 51 | 'option_page', 52 | ) 53 | ); 54 | } 55 | 56 | public function option_page() { 57 | 58 | if ( is_child_theme() ) { 59 | $theme = wp_get_theme()->parent(); 60 | } else { 61 | $theme = wp_get_theme(); 62 | } 63 | ?> 64 |
65 |
66 |

67 | Version ); 70 | ?> 71 |

72 |
73 |
74 |
75 |

76 |

77 | Name ); 80 | ?> 81 |

82 | 83 |
84 |
85 |

86 | 89 | 90 |
91 | 92 |
93 |

94 |
    95 |
  • ' . esc_html__( 'Documentation', 'estore' ) . '', esc_url( 'https://docs.themegrill.com/estore/' ) ); ?>
  • 96 |
  • ' . esc_html__( 'Starter Demos', 'estore' ) . '', esc_url( 'https://themegrilldemos.com/estore-demos/' ) ); ?>
  • 97 |
  • ' . esc_html__( 'Premium Version', 'estore' ) . '', esc_url( 'https://themegrill.com/themes/estore/' ) ); ?>
  • 98 |
99 |
100 | 101 |
102 |

103 |
    104 |
  • ' . esc_html__( 'Got theme support question?', 'estore' ) . '', esc_url( 'https://wordpress.org/support/theme/estore/' ) ); ?>
  • 105 |
  • ' . esc_html__( 'Leave a review', 'estore' ) . '', esc_url( 'https://wordpress.org/support/theme/estore/reviews/' ) ); ?>
  • 106 |
107 |
108 |
109 |
110 |
111 | name = $name; 37 | $this->type = $type; 38 | $this->dismiss_url = $dismiss_url; 39 | $this->temporary_dismiss_url = $temporary_dismiss_url; 40 | $this->pricing_url = 'https://themegrill.com/estore-pricing/?utm_source=estore-dashboard-message&utm_medium=view-pricing-link&utm_campaign=upgrade'; 41 | $this->current_user_id = get_current_user_id(); 42 | 43 | // Notice markup. 44 | add_action( 'admin_notices', array( $this, 'notice' ) ); 45 | 46 | $this->dismiss_notice(); 47 | $this->dismiss_notice_temporary(); 48 | } 49 | 50 | public function notice() { 51 | if ( ! $this->is_dismiss_notice() ) { 52 | $this->notice_markup(); 53 | } 54 | } 55 | 56 | private function is_dismiss_notice() { 57 | return apply_filters( 'estore_' . $this->name . '_notice_dismiss', true ); 58 | } 59 | 60 | public function notice_markup() { 61 | echo ''; 62 | } 63 | 64 | /** 65 | * Hide a notice if the GET variable is set. 66 | */ 67 | public function dismiss_notice() { 68 | if ( isset( $_GET['estore_notice_dismiss'] ) && isset( $_GET['_estore_upgrade_notice_dismiss_nonce'] ) ) { // WPCS: input var ok. 69 | if ( ! wp_verify_nonce( wp_unslash( $_GET['_estore_upgrade_notice_dismiss_nonce'] ), 'estore_upgrade_notice_dismiss_nonce' ) ) { // phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotSanitized 70 | wp_die( __( 'Action failed. Please refresh the page and retry.', 'estore' ) ); // WPCS: xss ok. 71 | } 72 | 73 | if ( ! current_user_can( 'publish_posts' ) ) { 74 | wp_die( __( 'Cheatin’ huh?', 'estore' ) ); // WPCS: xss ok. 75 | } 76 | 77 | $dismiss_notice = sanitize_text_field( wp_unslash( $_GET['estore_notice_dismiss'] ) ); 78 | 79 | // Hide. 80 | if ( $dismiss_notice === $_GET['estore_notice_dismiss'] ) { 81 | add_user_meta( get_current_user_id(), 'estore_' . $dismiss_notice . '_notice_dismiss', 'yes', true ); 82 | } 83 | } 84 | } 85 | 86 | public function dismiss_notice_temporary() { 87 | if ( isset( $_GET['estore_notice_dismiss_temporary'] ) && isset( $_GET['_estore_upgrade_notice_dismiss_temporary_nonce'] ) ) { // WPCS: input var ok. 88 | if ( ! wp_verify_nonce( wp_unslash( $_GET['_estore_upgrade_notice_dismiss_temporary_nonce'] ), 'estore_upgrade_notice_dismiss_temporary_nonce' ) ) { // phpcs:ignore WordPress.VIP.ValidatedSanitizedInput.InputNotSanitized 89 | wp_die( __( 'Action failed. Please refresh the page and retry.', 'estore' ) ); // WPCS: xss ok. 90 | } 91 | 92 | if ( ! current_user_can( 'publish_posts' ) ) { 93 | wp_die( __( 'Cheatin’ huh?', 'estore' ) ); // WPCS: xss ok. 94 | } 95 | 96 | $dismiss_notice = sanitize_text_field( wp_unslash( $_GET['estore_notice_dismiss_temporary'] ) ); 97 | 98 | // Hide. 99 | if ( $dismiss_notice === $_GET['estore_notice_dismiss_temporary'] ) { 100 | add_user_meta( get_current_user_id(), 'estore_' . $dismiss_notice . '_notice_dismiss_temporary', 'yes', true ); 101 | } 102 | } 103 | } 104 | } 105 | -------------------------------------------------------------------------------- /inc/admin/class-estore-upgrade-notice.php: -------------------------------------------------------------------------------- 1 | set_notice_time(); 43 | 44 | $this->set_temporary_dismiss_notice_time(); 45 | 46 | $this->set_dismiss_notice(); 47 | } 48 | 49 | private function set_notice_time() { 50 | if ( ! get_option( 'estore_upgrade_notice_start_time' ) ) { 51 | update_option( 'estore_upgrade_notice_start_time', time() ); 52 | } 53 | } 54 | 55 | private function set_temporary_dismiss_notice_time() { 56 | if ( isset( $_GET['estore_notice_dismiss_temporary'] ) && 'upgrade' === $_GET['estore_notice_dismiss_temporary'] ) { 57 | update_user_meta( $this->current_user_id, 'estore_upgrade_notice_dismiss_temporary_start_time', time() ); 58 | } 59 | } 60 | 61 | public function set_dismiss_notice() { 62 | 63 | /** 64 | * Do not show notice if: 65 | * 66 | * 1. It has not been 5 days since the theme is activated. 67 | * 2. If the user has ignored the message partially for 2 days. 68 | * 3. Dismiss always if clicked on 'Dismiss' button. 69 | */ 70 | if ( get_option( 'estore_upgrade_notice_start_time' ) > strtotime( '-5 day' ) 71 | || get_user_meta( get_current_user_id(), 'estore_upgrade_notice_dismiss', true ) 72 | || get_user_meta( get_current_user_id(), 'estore_upgrade_notice_dismiss_temporary_start_time', true ) > strtotime( '-2 day' ) 73 | ) { 74 | add_filter( 'estore_upgrade_notice_dismiss', '__return_true' ); 75 | } else { 76 | add_filter( 'estore_upgrade_notice_dismiss', '__return_false' ); 77 | } 78 | } 79 | 80 | public function notice_markup() { 81 | ?> 82 |
83 | 84 | 85 |

86 | ' . esc_html( $current_user->display_name ) . '', 96 | 'estore', 97 | 'TGFREEUSER', 98 | '25%' 99 | ); 100 | ?> 101 |

102 | 103 | 119 |
120 | choices ) ) 6 | return; 7 | 8 | $name = '_customize-radio-' . $this->id; 9 | 10 | ?> 11 | 31 | label ); ?> 32 | 47 | 59 | json['default'] = $this->setting->default; 28 | if ( isset( $this->default ) ) { 29 | $this->json['default'] = $this->default; 30 | } 31 | $this->json['value'] = $this->value(); 32 | 33 | $this->json['link'] = $this->get_link(); 34 | $this->json['id'] = $this->id; 35 | $this->json['label'] = esc_html( $this->label ); 36 | $this->json['description'] = $this->description; 37 | 38 | } 39 | 40 | /** 41 | * An Underscore (JS) template for this control's content (but not its container). 42 | * 43 | * Class variables for this control class are available in the `data` JS object; 44 | * export custom variables by overriding {@see WP_Customize_Control::to_json()}. 45 | * 46 | * @see WP_Customize_Control::print_template() 47 | * 48 | * @access protected 49 | */ 50 | protected function content_template() { 51 | ?> 52 | <# var editorID = data.id.replace( '[', '-' ).replace( ']', '' ) #> 53 | 54 |
55 | <# if ( data.label ) { #> 56 | {{{ data.label }}} 57 | <# } #> 58 | 59 | <# if ( data.description ) { #> 60 | {{{ data.description }}} 61 | <# } #> 62 |
63 | 64 | 65 | 66 | array( 27 | 'id' => 'estore_page_specific_layout', 28 | 'value' => 'default_layout', 29 | 'label' => esc_html__( 'Default Layout', 'estore' ) 30 | ), 31 | 'right-sidebar' => array( 32 | 'id' => 'estore_page_specific_layout', 33 | 'value' => 'right_sidebar', 34 | 'label' => esc_html__( 'Right Sidebar', 'estore' ) 35 | ), 36 | 'left-sidebar' => array( 37 | 'id' => 'estore_page_specific_layout', 38 | 'value' => 'left_sidebar', 39 | 'label' => esc_html__( 'Left Sidebar', 'estore' ) 40 | ), 41 | 'no-sidebar-full-width' => array( 42 | 'id' => 'estore_page_specific_layout', 43 | 'value' => 'no_sidebar_full_width', 44 | 'label' => esc_html__( 'No Sidebar Full Width', 'estore' ) 45 | ), 46 | 'no-sidebar-content-centered' => array( 47 | 'id' => 'estore_page_specific_layout', 48 | 'value' => 'no_sidebar_content_centered', 49 | 'label' => esc_html__( 'No Sidebar Content Centered', 'estore' ) 50 | ) 51 | ); 52 | 53 | /****************************************************************************************/ 54 | 55 | function estore_layout_call() { 56 | global $estore_page_specific_layout; 57 | estore_meta_form( $estore_page_specific_layout ); 58 | } 59 | 60 | /** 61 | * Displays metabox to for select layout option 62 | */ 63 | function estore_meta_form( $estore_metabox_field ) { 64 | global $post; 65 | 66 | // Use nonce for verification. 67 | wp_nonce_field( basename( __FILE__ ), 'custom_meta_box_nonce' ); 68 | 69 | foreach ( $estore_metabox_field as $field ) { 70 | $layout_meta = get_post_meta( $post->ID, $field['id'], true ); 71 | 72 | switch ( $field['id'] ) { 73 | 74 | // Layout. 75 | case 'estore_page_specific_layout': 76 | if ( empty( $layout_meta ) ) { 77 | $layout_meta = 'default_layout'; 78 | } 79 | ?> 80 | 81 | /> 84 | 86 |
87 | 2000, 17 | 'height' => 400, 18 | 'flex-height' => true, 19 | 'header-text' => true, 20 | 'video' => true, 21 | 'header-text' => false, 22 | ) ); 23 | } 24 | add_action( 'after_setup_theme', 'estore_custom_header_setup' ); 25 | 26 | // Filter the get_header_image_tag() for option of adding the link back to home page option 27 | function estore_header_image_markup( $html, $header, $attr ) { 28 | $output = ''; 29 | $header_image = get_header_image(); 30 | 31 | if( ! empty( $header_image ) ) { 32 | 33 | $output .= '
' . esc_attr( get_bloginfo( 'name', 'display' ) ) . '
'; 34 | } 35 | 36 | return $output; 37 | } 38 | 39 | function estore_header_image_markup_filter() { 40 | add_filter( 'get_header_image_tag', 'estore_header_image_markup', 10, 3 ); 41 | } 42 | add_action( 'estore_header_image_markup_render','estore_header_image_markup_filter' ); 43 | 44 | // Video Header introduced in WordPress 4.7 45 | if ( ! function_exists( 'estore_the_custom_header_markup' ) ) { 46 | /** 47 | * Displays the optional custom media headers. 48 | */ 49 | function estore_the_custom_header_markup() { 50 | if ( function_exists('the_custom_header_markup') ) { 51 | do_action( 'estore_header_image_markup_render' ); 52 | the_custom_header_markup(); 53 | } else { 54 | $header_image = get_header_image(); 55 | if( ! empty( $header_image ) ) { ?> 56 |
<?php echo esc_attr( get_bloginfo( 'name', 'display' ) ); ?>
57 | esc_attr( $img_alt ), 54 | 'title' => esc_attr( $title_attribute ), 55 | ); 56 | 57 | the_post_thumbnail( 'estore-slider', $post_thumbnail_attr ); 58 | } 59 | 60 | } 61 | endif; 62 | -------------------------------------------------------------------------------- /inc/jetpack.php: -------------------------------------------------------------------------------- 1 | 2 | 3 | have_posts() ): ?> 4 | 5 | 57 | 58 | 59 | 60 | -------------------------------------------------------------------------------- /inc/widgets/class-estore-about.php: -------------------------------------------------------------------------------- 1 | 'widget-about clearfix', 7 | 'description' => esc_html__( 'Show your about page. Suitable for Click to Action.', 'estore' ) 8 | ); 9 | $control_ops = array( 10 | 'width' => 200, 11 | 'height' => 250 12 | ); 13 | parent::__construct( false, $name = esc_html__( 'TG: About Widget', 'estore' ), $widget_ops, $control_ops); 14 | } 15 | 16 | function form( $instance ) { 17 | $defaults[ 'title' ] = ''; 18 | $defaults[ 'page_id' ] = ''; 19 | 20 | $instance = wp_parse_args( (array) $instance, $defaults ); 21 | 22 | $title = esc_attr( $instance[ 'title' ] ); 23 | $page_id = absint( $instance[ 'page_id' ] ); 24 | ?> 25 | 26 |

27 | 28 | 29 |

30 | 31 |

32 | 33 | 34 | ' ', 36 | 'name' => $this->get_field_name( 'page_id' ), 37 | 'selected' => $instance[ 'page_id' ] 38 | ) ); 39 | } 40 | 41 | function update( $new_instance, $old_instance ) { 42 | $instance = $old_instance; 43 | $instance[ 'title' ] = sanitize_text_field( $new_instance[ 'title' ] ); 44 | $instance[ 'page_id' ] = absint( $new_instance[ 'page_id' ] ); 45 | 46 | return $instance; 47 | } 48 | 49 | function widget( $args, $instance ) { 50 | extract( $args ); 51 | extract( $instance ); 52 | 53 | global $post; 54 | $title = apply_filters( 'widget_title', isset( $instance[ 'title' ] ) ? $instance[ 'title' ] : ''); 55 | $page_id = isset( $instance[ 'page_id' ] ) ? $instance[ 'page_id' ] : ''; 56 | 57 | echo $before_widget; ?> 58 |
59 | 60 | 61 |
62 | 63 |
64 | 65 |
66 |
67 |
68 | have_posts() ):$the_query->the_post(); 71 | $title_attribute = the_title_attribute( 'echo=0' ); 72 | 73 | $output = '

' . $title . '

'; 74 | 75 | $output .= '

'. get_the_title() .'

'; 76 | 77 | $output .= '
' . get_the_excerpt() . '
'; 78 | 79 | $output .= '
'; 80 | echo $output; 81 | ?> 82 |
83 | 87 |
88 | 89 |
90 | 'slider_wrapper category-slider clearfix', 8 | 'description' => esc_html__( 'Display latest posts or posts of specific category, which will be used as the slider.', 'estore' ) ); 9 | 10 | $control_ops = array( 11 | 'width' => 200, 12 | 'height' => 250 13 | ); 14 | 15 | parent::__construct( false,$name= esc_html__( 'TG: Category Slider', 'estore' ), $widget_ops); 16 | } 17 | 18 | function form( $instance ) { 19 | $tg_defaults['number'] = 4; 20 | $tg_defaults['type'] = 'latest'; 21 | $tg_defaults['category'] = ''; 22 | 23 | $instance = wp_parse_args( (array) $instance, $tg_defaults ); 24 | 25 | $number = $instance['number']; 26 | $type = $instance['type']; 27 | $category = $instance['category']; 28 | ?> 29 | 30 |

31 | 32 | 33 |

34 | 35 |

36 | id="get_field_id( 'type' ); ?>" name="get_field_name( 'type' ); ?>" value="latest"/>
37 | id="get_field_id( 'type' ); ?>" name="get_field_name( 'type' ); ?>" value="category"/>
38 |

39 | 40 |

41 | 42 | ' ', 46 | 'name' => $this->get_field_name( 'category' ), 47 | 'selected' => $category 48 | ) 49 | ); 50 | ?> 51 |

52 | 53 | $number, 78 | 'post_type' => 'post', 79 | 'ignore_sticky_posts' => true 80 | ) ); 81 | } 82 | else { 83 | $get_featured_posts = new WP_Query( array( 84 | 'posts_per_page' => $number, 85 | 'post_type' => 'post', 86 | 'category__in' => $category 87 | ) ); 88 | } 89 | echo $before_widget; 90 | ?> 91 | 114 | 'widget_full_width_promo widget-collection-thumb clearfix', 7 | 'description' => esc_html__( 'Display some pages with featured image in horizontal layout.', 'estore' ) ); 8 | $control_ops = array( 9 | 'width' => 200, 10 | 'height' => 250 11 | ); 12 | parent::__construct( false, $name = esc_html__( 'TG: Horizontal Promo', 'estore' ), $widget_ops, $control_ops); 13 | } 14 | 15 | function form( $instance ) { 16 | for ( $i=0; $i<3; $i++ ) { 17 | $var = 'page_id'.$i; 18 | $defaults[$var] = ''; 19 | } 20 | 21 | $instance = wp_parse_args( (array) $instance, $defaults ); 22 | for ( $i=0; $i<3; $i++ ) { 23 | $var = 'page_id'.$i; 24 | $var = absint( $instance[ $var ] ); 25 | } 26 | 27 | for( $i=0; $i<3; $i++) { ?> 28 |

29 | 30 | ' ', 32 | 'name' => $this->get_field_name( key($defaults) ), 33 | 'selected' => $instance[ key($defaults) ] 34 | ) ); 35 | ?> 36 |

37 | 3, 69 | 'post_type' => array( 'page' ), 70 | 'post__in' => $page_array, 71 | ) ); 72 | echo $before_widget; ?> 73 |
74 |
75 | have_posts() ):$get_featured_pages->the_post(); 78 | 79 | if( !has_post_thumbnail() ) 80 | return; 81 | ?> 82 | 94 | 99 |
100 |
101 | 'widget_vertical_promo collection-wrapper clearfix', 7 | 'description' => esc_html__( 'Display some pages in vertical layout with featured image.', 'estore' ) ); 8 | $control_ops = array( 9 | 'width' => 200, 10 | 'height' => 250 11 | ); 12 | parent::__construct( false, $name = esc_html__( 'TG: Vertical Promo', 'estore' ), $widget_ops, $control_ops); 13 | } 14 | 15 | function form( $instance ) { 16 | for ( $i=0; $i<2; $i++ ) { 17 | $var = 'page_id'.$i; 18 | $defaults[$var] = ''; 19 | } 20 | 21 | $instance = wp_parse_args( (array) $instance, $defaults ); 22 | for ( $i=0; $i<2; $i++ ) { 23 | $var = 'page_id'.$i; 24 | $var = absint( $instance[ $var ] ); 25 | } 26 | 27 | for( $i=0; $i<2; $i++) { ?> 28 |

29 | 30 | ' ', 32 | 'name' => $this->get_field_name( key($defaults) ), 33 | 'selected' => $instance[ key($defaults) ] 34 | ) ); 35 | ?> 36 |

37 | 2, 68 | 'post_type' => array( 'page' ), 69 | 'post__in' => $page_array, 70 | ) ); 71 | echo $before_widget; ?> 72 | have_posts() ):$get_featured_pages->the_post(); 75 | 76 | if( !has_post_thumbnail() ) 77 | return; 78 | ?> 79 |
80 |
81 | ID, 'estore-featured-image' ); ?> 82 |
83 |

84 |
85 | 89 | 'widget_full_width_promo widget-collection-thumb clearfix', 7 | 'description' => esc_html__( 'Display WooCommerce Product Categories with featured image in horizontal layout.', 'estore' ), 8 | ); 9 | $control_ops = array( 10 | 'width' => 200, 11 | 'height' => 250, 12 | ); 13 | parent::__construct( false, $name = esc_html__( 'TG: Horizontal Promo WC Category', 'estore' ), $widget_ops, $control_ops ); 14 | } 15 | 16 | function form( $instance ) { 17 | for ( $i = 0; $i < 3; $i++ ) { 18 | $var = 'cat_id' . $i; 19 | $defaults[ $var ] = ''; 20 | } 21 | 22 | $instance = wp_parse_args( (array) $instance, $defaults ); 23 | for ( $i = 0; $i < 3; $i++ ) { 24 | $var = 'cat_id' . $i; 25 | $var = absint( $instance[ $var ] ); 26 | } 27 | 28 | for ( $i = 0; $i < 3; $i++ ) { ?> 29 |

30 | 31 | ' ', 35 | 'name' => $this->get_field_name( 'cat_id' . $i ), 36 | 'selected' => $instance[ 'cat_id' . $i ], 37 | 'taxonomy' => 'product_cat', 38 | ) 39 | ); 40 | ?> 41 |

42 | 'product_cat', 74 | 'orderby' => 'date', 75 | 'hide_empty' => '0', 76 | 'include' => $cat_array, 77 | ); 78 | echo $before_widget; 79 | ?> 80 | 123 | 'widget_vertical_promo collection-wrapper clearfix', 7 | 'description' => esc_html__( 'Display WooCommerce Product Categories in vertical layout with featured image.', 'estore' ), 8 | ); 9 | $control_ops = array( 10 | 'width' => 200, 11 | 'height' => 250, 12 | ); 13 | parent::__construct( false, $name = esc_html__( 'TG: Vertical Promo WC Category', 'estore' ), $widget_ops, $control_ops ); 14 | } 15 | 16 | function form( $instance ) { 17 | for ( $i = 0; $i < 2; $i++ ) { 18 | $var = 'cat_id' . $i; 19 | $defaults[ $var ] = ''; 20 | } 21 | 22 | $instance = wp_parse_args( (array) $instance, $defaults ); 23 | for ( $i = 0; $i < 2; $i++ ) { 24 | $var = 'cat_id' . $i; 25 | $var = absint( $instance[ $var ] ); 26 | } 27 | 28 | for ( $i = 0; $i < 2; $i++ ) { ?> 29 |

30 | 31 | ' ', 35 | 'name' => $this->get_field_name( key( $defaults ) ), 36 | 'selected' => $instance[ key( $defaults ) ], 37 | 'taxonomy' => 'product_cat', 38 | ) 39 | ); 40 | ?> 41 |

42 | 'product_cat', 73 | 'orderby' => 'date', 74 | 'hide_empty' => '0', 75 | 'include' => $cat_array, 76 | ); 77 | echo $before_widget; 78 | ?> 79 | term_id; 85 | $cat_link = get_term_link( $cat_id ); 86 | ?> 87 |
88 |
89 | term_id, 'thumbnail_id', true ); 91 | //$image = wp_get_attachment_url( $thumbnail_id ); 92 | $image = wp_get_attachment_image_src( $thumbnail_id, 'estore-featured-image' ); 93 | $title_attribute = esc_attr( get_the_title( $thumbnail_id ) ); 94 | $img_altr = get_post_meta( $thumbnail_id, '_wp_attachment_image_alt', true ); 95 | $img_alt = ! empty( $img_altr ) ? $img_altr : $title_attribute; 96 | if ( ! empty( $image[0] ) ) { 97 | echo '' . $img_alt . ''; 98 | } 99 | // @todo: Default Place holder image needed 100 | ?> 101 |
102 |

name ); ?>

103 |
104 | 105 | 111 | 23 |
24 | 28 | 34 | 35 |
36 |
37 |
38 | 62 |
63 | 64 |
65 |
66 |
67 | 68 | 1e3?jQuery(".scrollup").fadeIn():jQuery(".scrollup").fadeOut()}),jQuery(".scrollup").click(function(){return jQuery("html, body").animate({scrollTop:0},2e3),!1})}),jQuery(window).on("load",function(){var a=Math.max(window.innerWidth,document.documentElement.clientWidth);a&&a>=768&&jQuery("#primary-menu").superfish({animation:{height:"show"},delay:.5}),jQuery(".category-slider .home-slider").bxSlider({caption:!0,auto:!0,controls:!0,pager:!1,nextText:' ',prevText:' ',infiniteLoop:!0,onSliderLoad:function(){jQuery(".home-slider").css("visibility","visible")}}),jQuery(".product-slider .home-slider").bxSlider({caption:!0,auto:!0,controls:!0,pager:!1,nextText:' ',prevText:' ',infiniteLoop:!0,onSliderLoad:function(){jQuery(".home-slider").css("visibility","visible")}}),jQuery(".featured-slider").bxSlider({caption:!0,auto:!1,controls:!0,pager:!1,nextText:' ',prevText:' ',minSlides:1,maxSlides:5,slideWidth:224,slideMargin:20,onSliderLoad:function(){jQuery(".featured-slider").css("visibility","visible")}})}),jQuery(".add_to_wishlist").click(function(a){jQuery(this).parent(".yith-wcwl-add-to-wishlist").children(".ajax-loading").css("display","block !important")}),jQuery(".toggle-wrap .toggle").click(function(a){jQuery("#primary-menu,#menu-mobile").slideToggle("slow")}),jQuery("#site-navigation .menu-item-has-children, #primary-menu .page_item_has_children").append(' '),jQuery("#site-navigation .sub-toggle").click(function(){jQuery(this).parent(".menu-item-has-children").children("ul.sub-menu").first().slideToggle("1000"),jQuery(this).children(".fa-angle-right").first().toggleClass("fa-angle-down"),jQuery(this).parent(".page_item_has_children").children("ul.children").first().slideToggle("1000")}),jQuery(function(a){a(document).on("added_to_wishlist removed_from_wishlist",function(){var b=a(this).find(".cart-wishlist-btn .single_add_to_wishlist");b.removeClass("add_to_wishlist"),a.get(yith_wcwl_l10n.ajax_url,{action:"yith_wcwl_update_wishlist_count"},function(b){a(".wishlist-value").html(b.count)})})}); -------------------------------------------------------------------------------- /js/customize-controls.js: -------------------------------------------------------------------------------- 1 | wp.customize.controlConstructor[ 'estore-editor' ] = wp.customize.Control.extend( { 2 | 3 | ready : function () { 4 | 5 | 'use strict'; 6 | 7 | var control = this, 8 | id = 'editor_' + control.id.replace( '[', '-' ).replace( ']', '' ); 9 | 10 | wp.editor.initialize( id, { 11 | tinymce : { 12 | wpautop : true 13 | }, 14 | quicktags : true, 15 | mediaButtons : true 16 | } ); 17 | 18 | }, 19 | 20 | onChangeActive : function ( active, args ) { 21 | 22 | 'use strict'; 23 | 24 | var control = this, 25 | id = 'editor_' + control.id.replace( '[', '-' ).replace( ']', '' ), 26 | element = control.container.find( 'textarea' ), 27 | editor; 28 | 29 | editor = tinyMCE.get( id ); 30 | 31 | if ( editor ) { 32 | 33 | editor.onChange.add( function ( ed ) { 34 | var content; 35 | 36 | ed.save(); 37 | content = editor.getContent(); 38 | element.val( content ).trigger( 'change' ); 39 | wp.customize.instance( control.id ).set( content ); 40 | } ); 41 | 42 | } 43 | 44 | } 45 | 46 | } ); 47 | -------------------------------------------------------------------------------- /js/image-uploader.js: -------------------------------------------------------------------------------- 1 | jQuery( document ).ready( function( $ ) { 2 | 3 | var file_frame; 4 | 5 | $( document.body ).on( 'click', '.custom_media_upload', function( event ) { 6 | var $el = $( this ); 7 | 8 | var file_target_input = $el.parent().find( '.custom_media_input' ); 9 | var file_target_preview = $el.parent().find( '.custom_media_preview' ); 10 | 11 | event.preventDefault(); 12 | 13 | // Create the media frame. 14 | file_frame = wp.media.frames.media_file = wp.media({ 15 | // Set the title of the modal. 16 | title: $el.data( 'choose' ), 17 | button: { 18 | text: $el.data( 'update' ) 19 | }, 20 | states: [ 21 | new wp.media.controller.Library({ 22 | title: $el.data( 'choose' ), 23 | library: wp.media.query({ type: 'image' }) 24 | }) 25 | ] 26 | }); 27 | 28 | // When an image is selected, run a callback. 29 | file_frame.on( 'select', function() { 30 | // Get the attachment from the modal frame. 31 | var attachment = file_frame.state().get( 'selection' ).first().toJSON(); 32 | 33 | // Initialize input and preview change. 34 | file_target_input.val( attachment.url ).change(); 35 | file_target_preview.css({ display: 'none' }).find( 'img' ).remove(); 36 | file_target_preview.css({ display: 'block' }).append( '' ); 37 | }); 38 | 39 | // Finally, open the modal. 40 | file_frame.open(); 41 | }); 42 | 43 | // Media Uploader Preview 44 | $( 'input.custom_media_input' ).each( function() { 45 | var preview_image = $( this ).val(), 46 | preview_target = $( this ).siblings( '.custom_media_preview' ); 47 | 48 | // Initialize image previews. 49 | if ( preview_image !== '' ) { 50 | preview_target.find( 'img.custom_media_preview_default' ).remove(); 51 | preview_target.css({ display: 'block' }).append( '' ); 52 | } 53 | }); 54 | }); 55 | -------------------------------------------------------------------------------- /js/jquery.prettyPhoto.init.js: -------------------------------------------------------------------------------- 1 | (function($) { 2 | $(function() { 3 | 4 | // Lightbox 5 | $("a.zoom").prettyPhoto({ 6 | hook: 'data-rel', 7 | social_tools: false, 8 | theme: 'pp_woocommerce', 9 | horizontal_padding: 20, 10 | opacity: 0.8, 11 | deeplinking: false 12 | }); 13 | $("a[data-rel^='prettyPhoto']").prettyPhoto({ 14 | hook: 'data-rel', 15 | social_tools: false, 16 | theme: 'pp_woocommerce', 17 | horizontal_padding: 20, 18 | opacity: 0.8, 19 | deeplinking: false 20 | }); 21 | 22 | }); 23 | })(jQuery); 24 | -------------------------------------------------------------------------------- /js/jquery.prettyPhoto.init.min.js: -------------------------------------------------------------------------------- 1 | !function(a){a(function(){a("a.zoom").prettyPhoto({hook:"data-rel",social_tools:!1,theme:"pp_woocommerce",horizontal_padding:20,opacity:.8,deeplinking:!1}),a("a[data-rel^='prettyPhoto']").prettyPhoto({hook:"data-rel",social_tools:!1,theme:"pp_woocommerce",horizontal_padding:20,opacity:.8,deeplinking:!1})})}(jQuery); -------------------------------------------------------------------------------- /js/metabox-toggle.js: -------------------------------------------------------------------------------- 1 | jQuery(document).ready( function() { 2 | jQuery('#page_template').change(function() { 3 | jQuery('#woocommerce-category').toggle(jQuery(this).val() == 'page-templates/template-wc-collection.php'); 4 | }).change(); 5 | }); 6 | -------------------------------------------------------------------------------- /js/skip-link-focus-fix.js: -------------------------------------------------------------------------------- 1 | /** 2 | * File skip-link-focus-fix.js. 3 | * 4 | * Helps with accessibility for keyboard only users. 5 | * 6 | * Learn more: https://git.io/vWdr2 7 | */ 8 | ( function() { 9 | var isIe = /(trident|msie)/i.test( navigator.userAgent ); 10 | 11 | if ( isIe && document.getElementById && window.addEventListener ) { 12 | window.addEventListener( 'hashchange', function() { 13 | var id = location.hash.substring( 1 ), 14 | element; 15 | 16 | if ( ! ( /^[A-z0-9_-]+$/.test( id ) ) ) { 17 | return; 18 | } 19 | 20 | element = document.getElementById( id ); 21 | 22 | if ( element ) { 23 | if ( ! ( /^(?:a|select|input|button|textarea)$/i.test( element.tagName ) ) ) { 24 | element.tabIndex = -1; 25 | } 26 | 27 | element.focus(); 28 | } 29 | }, false ); 30 | } 31 | } )(); 32 | -------------------------------------------------------------------------------- /js/superfish.min.js: -------------------------------------------------------------------------------- 1 | !function(a,b){"use strict";var c=function(){var c={bcClass:"sf-breadcrumb",menuClass:"sf-js-enabled",anchorClass:"sf-with-ul",menuArrowClass:"sf-arrows"},d=function(){var b=/^(?![\w\W]*Windows Phone)[\w\W]*(iPhone|iPad|iPod)/i.test(navigator.userAgent);return b&&a("html").css("cursor","pointer").on("click",a.noop),b}(),e=function(){var a=document.documentElement.style;return"behavior"in a&&"fill"in a&&/iemobile/i.test(navigator.userAgent)}(),f=function(){return!!b.PointerEvent}(),g=function(a,b){var d=c.menuClass;b.cssArrows&&(d+=" "+c.menuArrowClass),a.toggleClass(d)},h=function(b,d){return b.find("li."+d.pathClass).slice(0,d.pathLevels).addClass(d.hoverClass+" "+c.bcClass).filter(function(){return a(this).children(d.popUpSelector).hide().show().length}).removeClass(d.pathClass)},i=function(a){a.children("a").toggleClass(c.anchorClass)},j=function(a){var b=a.css("ms-touch-action"),c=a.css("touch-action");c=c||b,c="pan-y"===c?"auto":"pan-y",a.css({"ms-touch-action":c,"touch-action":c})},k=function(b,c){var g="li:has("+c.popUpSelector+")";a.fn.hoverIntent&&!c.disableHI?b.hoverIntent(m,n,g):b.on("mouseenter.superfish",g,m).on("mouseleave.superfish",g,n);var h="MSPointerDown.superfish";f&&(h="pointerdown.superfish"),d||(h+=" touchend.superfish"),e&&(h+=" mousedown.superfish"),b.on("focusin.superfish","li",m).on("focusout.superfish","li",n).on(h,"a",c,l)},l=function(b){var c=a(this),d=q(c),e=c.siblings(b.data.popUpSelector);return d.onHandleTouch.call(e)===!1?this:void(e.length>0&&e.is(":hidden")&&(c.one("click.superfish",!1),"MSPointerDown"===b.type||"pointerdown"===b.type?c.trigger("focus"):a.proxy(m,c.parent("li"))()))},m=function(){var b=a(this),c=q(b);clearTimeout(c.sfTimer),b.siblings().superfish("hide").end().superfish("show")},n=function(){var b=a(this),c=q(b);d?a.proxy(o,b,c)():(clearTimeout(c.sfTimer),c.sfTimer=setTimeout(a.proxy(o,b,c),c.delay))},o=function(b){b.retainPath=a.inArray(this[0],b.$path)>-1,this.superfish("hide"),this.parents("."+b.hoverClass).length||(b.onIdle.call(p(this)),b.$path.length&&a.proxy(m,b.$path)())},p=function(a){return a.closest("."+c.menuClass)},q=function(a){return p(a).data("sf-options")};return{hide:function(b){if(this.length){var c=this,d=q(c);if(!d)return this;var e=d.retainPath===!0?d.$path:"",f=c.find("li."+d.hoverClass).add(this).not(e).removeClass(d.hoverClass).children(d.popUpSelector),g=d.speedOut;if(b&&(f.show(),g=0),d.retainPath=!1,d.onBeforeHide.call(f)===!1)return this;f.stop(!0,!0).animate(d.animationOut,g,function(){var b=a(this);d.onHide.call(b)})}return this},show:function(){var a=q(this);if(!a)return this;var b=this.addClass(a.hoverClass),c=b.children(a.popUpSelector);return a.onBeforeShow.call(c)===!1?this:(c.stop(!0,!0).animate(a.animation,a.speed,function(){a.onShow.call(c)}),this)},destroy:function(){return this.each(function(){var b,d=a(this),e=d.data("sf-options");return!!e&&(b=d.find(e.popUpSelector).parent("li"),clearTimeout(e.sfTimer),g(d,e),i(b),j(d),d.off(".superfish").off(".hoverIntent"),b.children(e.popUpSelector).attr("style",function(a,b){return b.replace(/display[^;]+;?/g,"")}),e.$path.removeClass(e.hoverClass+" "+c.bcClass).addClass(e.pathClass),d.find("."+e.hoverClass).removeClass(e.hoverClass),e.onDestroy.call(d),void d.removeData("sf-options"))})},init:function(b){return this.each(function(){var d=a(this);if(d.data("sf-options"))return!1;var e=a.extend({},a.fn.superfish.defaults,b),f=d.find(e.popUpSelector).parent("li");e.$path=h(d,e),d.data("sf-options",e),g(d,e),i(f),j(d),k(d,e),f.not("."+c.bcClass).superfish("hide",!0),e.onInit.call(this)})}}}();a.fn.superfish=function(b,d){return c[b]?c[b].apply(this,Array.prototype.slice.call(arguments,1)):"object"!=typeof b&&b?a.error("Method "+b+" does not exist on jQuery.fn.superfish"):c.init.apply(this,arguments)},a.fn.superfish.defaults={popUpSelector:"ul,.sf-mega",hoverClass:"sfHover",pathClass:"overrideThisToUse",pathLevels:1,delay:800,animation:{opacity:"show"},animationOut:{opacity:"hide"},speed:"normal",speedOut:"fast",cssArrows:!0,disableHI:!1,onInit:a.noop,onBeforeShow:a.noop,onShow:a.noop,onBeforeHide:a.noop,onHide:a.noop,onIdle:a.noop,onDestroy:a.noop,onHandleTouch:a.noop}}(jQuery,window); -------------------------------------------------------------------------------- /navigation.php: -------------------------------------------------------------------------------- 1 | max_num_pages > 1 ) : 19 | ?> 20 | 24 | 32 | 36 | 40 | 44 | 48 | -------------------------------------------------------------------------------- /no-results.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |
14 | 15 |
16 | 17 |

18 | Get started here.', 'estore' ), array( 'a' => array( 'href' => array() ) ) ), esc_url( admin_url( 'post-new.php' ) ) ); ?> 19 |

20 | 21 | 22 | 23 |

24 | 25 | 26 | 27 | 28 |

29 | 30 | 31 | 32 |
33 | 34 |
35 | -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "estore", 3 | "title": "eStore", 4 | "version": "1.6.7", 5 | "homepage": "https://themegrill.com/themes/estore", 6 | "repository": { 7 | "type": "git", 8 | "url": "git@github.com:themegrill/estore.git" 9 | }, 10 | "license": "GPL-3.0+", 11 | "main": "Gruntfile.js", 12 | "devDependencies": { 13 | "autoprefixer": "~9.3.1", 14 | "grunt": "^0.4.5", 15 | "grunt-checktextdomain": "~1.0.1", 16 | "grunt-contrib-compress": "~1.3.0", 17 | "grunt-contrib-cssmin": "~1.0.1", 18 | "grunt-contrib-jshint": "~1.0.0", 19 | "grunt-contrib-uglify": "^2.0.0", 20 | "grunt-contrib-watch": "~1.0.0", 21 | "grunt-glotpress": "~0.2.1", 22 | "grunt-postcss": "^0.8.0", 23 | "grunt-sass": "^2.1.0", 24 | "grunt-wp-i18n": "~0.5.4", 25 | "node-bourbon": "~4.2.8" 26 | }, 27 | "engines": { 28 | "node": ">=0.8.0", 29 | "npm": ">=1.1.0" 30 | }, 31 | "scripts": { 32 | "styles": "grunt sass", 33 | "uglify": "grunt uglify", 34 | "makepot": "grunt makepot", 35 | "compress": "grunt compress", 36 | "build": "npm run styles && npm run uglify && npm run makepot && npm run compress" 37 | }, 38 | "dependencies": { 39 | "gulp": "^4.0.2" 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /page-templates/template-estore-home.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 | 14 |
15 |
16 |
17 | 23 |
24 | 25 |
26 | 32 |
33 |
34 |
35 | 36 | 42 | 43 |
44 | 45 | 46 | -------------------------------------------------------------------------------- /page.php: -------------------------------------------------------------------------------- 1 | 23 |
24 | 30 |
31 |
32 |
33 | 35 | 36 | 37 | 38 | 47 |
48 | 49 |
50 |
51 |
52 | 53 | 54 | 55 | 56 | -------------------------------------------------------------------------------- /price.php: -------------------------------------------------------------------------------- 1 | 26 |

get_price_html(); ?>

27 |
28 | -------------------------------------------------------------------------------- /sass/grid/_grid.scss: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------- 2 | # Responsive grid for pages 3 | --------------------------------------------------------------*/ 4 | 5 | .tg-container { 6 | width: 1200px; 7 | margin: 0 auto; 8 | position: relative; 9 | } 10 | 11 | .tg-column-wrapper { 12 | clear: both; 13 | margin-left: -2%; 14 | .tg-column-1 { 15 | width: 100%; 16 | float: left; 17 | margin-left: 2%; 18 | } 19 | .tg-column-2 { 20 | width: 48%; 21 | margin-left: 2%; 22 | float: left; 23 | } 24 | .tg-column-3 { 25 | float: left; 26 | margin-left: 2%; 27 | width: 31.32%; 28 | } 29 | .tg-column-4 { 30 | width: 23%; 31 | margin-left: 2%; 32 | float: left; 33 | } 34 | .tg-column-5 { 35 | width: 18%; 36 | margin-left: 2%; 37 | float: left; 38 | } 39 | } 40 | 41 | 42 | .woocommerce-page ul.products.tg-column-wrapper { 43 | clear: both; 44 | margin-left: -2%; 45 | li.product.tg-column-4 { 46 | width: 23%; 47 | margin-left: 2%; 48 | float: left; 49 | margin-right: 0; 50 | padding: 0; 51 | } 52 | } 53 | 54 | .tg-column-bottom-margin { 55 | margin-bottom: 2%; 56 | } 57 | 58 | .hide { 59 | display: none; 60 | } 61 | -------------------------------------------------------------------------------- /sass/layout/_layout.scss: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------- 2 | Inner page layout CSS 3 | --------------------------------------------------------------*/ 4 | 5 | #primary { 6 | float: left; 7 | width: 72.5%; 8 | } 9 | 10 | #secondary { 11 | float: right; 12 | width: 25%; 13 | } 14 | 15 | .left_sidebar { 16 | #secondary { 17 | float: left; 18 | } 19 | #primary { 20 | float: right; 21 | } 22 | } 23 | 24 | .no_sidebar_full_width { 25 | #primary { 26 | width: 100%; 27 | float: none; 28 | } 29 | #secondary { 30 | display: none; 31 | } 32 | } 33 | 34 | .no_sidebar_content_centered{ 35 | #primary{ 36 | float: none; 37 | display: block; 38 | margin: 0 auto; 39 | } 40 | } 41 | 42 | .no_sidebar_full_width, 43 | .no_sidebar_content_centered { 44 | 45 | #primary { 46 | 47 | .entry-content { 48 | 49 | > .alignfull { 50 | margin-left: calc(50% - 50vw); 51 | margin-right: calc(50% - 50vw); 52 | max-width: unset; 53 | 54 | &.wp-block-cover, 55 | &.wp-block-cover-image { 56 | width: unset; 57 | } 58 | } 59 | 60 | > .alignwide { 61 | margin-left: -100px; 62 | margin-right: -100px; 63 | max-width: unset; 64 | width: unset; 65 | } 66 | } 67 | } 68 | 69 | } 70 | -------------------------------------------------------------------------------- /sass/site/_site.scss: -------------------------------------------------------------------------------- 1 | // @import "../layout/content-sidebar"; 2 | // @import "../layout/sidebar-content"; 3 | /*-------------------------------------------------------------- 4 | ## Posts and pages 5 | --------------------------------------------------------------*/ 6 | @import "primary/posts-and-pages"; 7 | 8 | /*-------------------------------------------------------------- 9 | ## Asides 10 | --------------------------------------------------------------*/ 11 | @import "primary/asides"; 12 | 13 | /*-------------------------------------------------------------- 14 | ## Comments 15 | --------------------------------------------------------------*/ 16 | @import "primary/comments"; 17 | -------------------------------------------------------------------------------- /sass/style.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | Theme Name: eStore 3 | Theme URI: https://www.themegrill.com/themes/estore/ 4 | Author: ThemeGrill 5 | Author URI: https://www.themegrill.com 6 | Description: eStore is a clean, beautiful and fully customizable responsive WooCommerce WordPress theme. This theme packs many premium features and several custom widgets which helps making your online store professional and well organized. Theme is fully compatible with WooCommerce and YITH WooCommerce Wishlist plugins. As an online store owner, attracting customers and selling products will be lot easier with this theme. Check the demo here: https://themegrilldemos.com/estore/ and get free support here: https://wordpress.org/support/theme/estore/ 7 | Version: 1.6.7 8 | Tested up to: 6.7 9 | Requires PHP: 7.4 10 | License: GNU General Public License v3 or later 11 | License URI: http://www.gnu.org/licenses/gpl-3.0.html 12 | Text Domain: estore 13 | Tags: one-column, two-columns, left-sidebar, right-sidebar, custom-colors, custom-menu, featured-images, theme-options, blog, e-commerce, custom-logo, footer-widgets, rtl-language-support, threaded-comments 14 | 15 | This theme, like WordPress, is licensed under the GPL. 16 | Use it to make something cool, have fun, and share what you've learned with others. 17 | 18 | eStore is based on Underscores http://underscores.me/, (C) 2012-2015 Automattic, Inc. 19 | Underscores is distributed under the terms of the GNU GPL v2 or later. 20 | 21 | Normalizing styles have been helped along thanks to the fine work of 22 | Nicolas Gallagher and Jonathan Neal http://necolas.github.com/normalize.css/ 23 | */ 24 | 25 | //@import "bourbon"; 26 | 27 | /*--------------------------------------------------------------*/ 28 | @import "variables-site/variables-site"; 29 | 30 | /*-------------------------------------------------------------- 31 | # Normalize 32 | --------------------------------------------------------------*/ 33 | @import "normalize"; 34 | 35 | /*-------------------------------------------------------------- 36 | # Widgets 37 | --------------------------------------------------------------*/ 38 | @import "site/secondary/widgets"; 39 | 40 | /*-------------------------------------------------------------- 41 | # layouts 42 | --------------------------------------------------------------*/ 43 | @import "layout/layout"; 44 | 45 | /*-------------------------------------------------------------- 46 | # Grid 47 | --------------------------------------------------------------*/ 48 | @import "grid/grid"; 49 | 50 | /*-------------------------------------------------------------- 51 | # Theme 52 | --------------------------------------------------------------*/ 53 | @import "theme/theme"; 54 | -------------------------------------------------------------------------------- /sass/theme/blog/_blog.scss: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------- 2 | blog page layout CSS 3 | --------------------------------------------------------------*/ 4 | 5 | .page-header { 6 | background: #f6f6f6 none repeat scroll 0 0; 7 | margin-bottom: 70px; 8 | padding: 20px 0 10px; 9 | text-align: center; 10 | .entry-title { 11 | color: #00a9e0; 12 | font-size: 28px; 13 | line-height: 30px; 14 | font-weight: 700; 15 | margin: 0; 16 | } 17 | .entry-sub-title { 18 | font-weight: 600; 19 | color: #3b3b3b; 20 | font-size: 14px; 21 | line-height: 30px; 22 | margin: 5px 0; 23 | span { 24 | margin: 0 5px; 25 | a { 26 | color: #3b3b3b; 27 | &:hover { 28 | color: $color__link-hover; 29 | } 30 | } 31 | } 32 | } 33 | } 34 | 35 | .has-post-thumbnail .entry-thumbnail, 36 | .widget_featured_posts_block .entry-thumbnail { 37 | position: relative; 38 | margin: 0; 39 | img { 40 | width: 100%; 41 | } 42 | .posted-on { 43 | background: #333 none repeat scroll 0 0; 44 | left: 0; 45 | padding: 10px 0; 46 | position: absolute; 47 | text-align: center; 48 | top: 0; 49 | width: 110px; 50 | color: #ffffff; 51 | font-size: 14px; 52 | font-style: normal; 53 | font-weight: 400; 54 | line-height: 24px; 55 | text-transform: uppercase; 56 | display: block; 57 | @include transition(background 0.3s ease); 58 | a { 59 | color: #ffffff; 60 | font-size: 14px; 61 | font-style: normal; 62 | font-weight: 400; 63 | line-height: 24px; 64 | text-transform: uppercase; 65 | display: block; 66 | } 67 | &:hover { 68 | background: #00a9e0 none repeat scroll 0 0; 69 | } 70 | } 71 | } 72 | 73 | .entry-title { 74 | font-size: 18px; 75 | line-height: 24px; 76 | margin: 10px 0 5px; 77 | text-transform: uppercase; 78 | a { 79 | color: #454545; 80 | } 81 | } 82 | 83 | .has-post-thumbnail .entry-title { 84 | margin-top: 30px; 85 | } 86 | 87 | .entry-title a:hover, 88 | .entry-btn .btn:hover, 89 | .entry-meta a:hover { 90 | color: #00a9e0; 91 | } 92 | 93 | .entry-meta { 94 | span { 95 | border-left: 2px solid #b5b5b5; 96 | display: inline-block; 97 | line-height: 15px; 98 | margin: 10px 10px 10px 0; 99 | padding-left: 10px; 100 | a, 101 | i { 102 | color: #787878; 103 | font-size: 11px; 104 | font-weight: 600; 105 | } 106 | i { 107 | margin-right: 5px; 108 | } 109 | } 110 | span:first-child { 111 | border-left: none; 112 | margin-left: 0px; 113 | padding-left: 0px; 114 | } 115 | } 116 | 117 | article { 118 | border-top: 1px solid #e4e4e4; 119 | margin-top: 40px; 120 | padding-top: 40px; 121 | } 122 | 123 | article:first-child { 124 | border-top: none; 125 | margin-top: 0px; 126 | padding-top: 0px; 127 | } 128 | 129 | .entry-btn .btn { 130 | color: #7f7d7d; 131 | font-size: 13px; 132 | margin-top: 10px; 133 | } 134 | 135 | article .entry-content { 136 | color: #7f7d7d; 137 | margin-top: 22px; 138 | } 139 | 140 | .entry-thumbnail .posted-on { 141 | background: rgba(0, 0, 0, 0) none repeat scroll 0 0; 142 | display: block; 143 | position: static; 144 | width: 100%; 145 | text-align: left; 146 | font-style: normal; 147 | a { 148 | color: #333; 149 | font-weight: 600; 150 | width: 100%; 151 | } 152 | } 153 | 154 | .wp-pagenavi a:hover, 155 | .wp-pagenavi span.current { 156 | background: #00a9e0 none repeat scroll 0 0; 157 | border-color: #00a9e0; 158 | color: #fff; 159 | padding: 4px 10px; 160 | } 161 | 162 | .wp-pagenavi { 163 | margin-left: 3%; 164 | } 165 | 166 | .wp-pagenavi a, 167 | .wp-pagenavi span { 168 | padding: 3px 10px; 169 | } 170 | 171 | .wp-pagenavi .pages { 172 | color: #8c8c8c; 173 | } 174 | 175 | // author-bio 176 | 177 | .author-box { 178 | background: $color__background-screen; 179 | padding: 20px; 180 | 181 | .author-img { 182 | float: left; 183 | } 184 | 185 | .author-description-wrapper { 186 | margin-left: 120px; 187 | 188 | .author-name { 189 | clear: none; 190 | } 191 | } 192 | } 193 | 194 | 195 | /*-------------------------------------------------------------- 196 | Archive Grid layout 197 | --------------------------------------------------------------*/ 198 | 199 | .archive-grid .entry-thumbnail .posted-on { 200 | padding: 0 20px; 201 | } 202 | 203 | .archive-grid #main { 204 | margin-top: 30px; 205 | } 206 | 207 | .archive-grid #primary { 208 | margin-left: -3%; 209 | width: 74.5%; 210 | } 211 | 212 | .archive-grid .entry-thumbnail { 213 | text-align: center; 214 | } 215 | 216 | .archive-grid article { 217 | border: 1px solid #e1e1e1; 218 | display: inline-block; 219 | margin: 0 -4px 30px 3%; 220 | vertical-align: top; 221 | width: 47%; 222 | margin-top: 0 !important; 223 | padding: 0; 224 | } 225 | 226 | .archive-grid .entry-title { 227 | margin: 30px 0 0; 228 | padding: 0 20px; 229 | } 230 | 231 | .archive-grid .entry-title, 232 | .archive-grid .entry-content-text-wrapper { 233 | padding: 0 20px 20px; 234 | } 235 | 236 | .post-navigation { 237 | margin-bottom: 30px; 238 | } 239 | 240 | .related-posts-main-title { 241 | margin-top: 30px; 242 | } 243 | 244 | ul.wp-block-gallery { 245 | margin: 0; 246 | } 247 | -------------------------------------------------------------------------------- /sass/theme/custom-mixing/_custom-mixing.scss: -------------------------------------------------------------------------------- 1 | @mixin transition($property) { 2 | transition: $property; 3 | } 4 | 5 | @mixin transform($property) { 6 | transform: $property; 7 | } 8 | -------------------------------------------------------------------------------- /sass/theme/footer/_footer.scss: -------------------------------------------------------------------------------- 1 | #colophon { 2 | margin-top: 40px; 3 | } 4 | 5 | #top-footer { 6 | background: #f6f7f7 none repeat scroll 0 0; 7 | padding: 50px 0; 8 | } 9 | 10 | #bottom-footer { 11 | background: #e9ebeb none repeat scroll 0 0; 12 | padding: 10px 0; 13 | } 14 | 15 | .copy-right { 16 | float: left; 17 | font-size: 11px; 18 | } 19 | 20 | .payment-partner-wrapper { 21 | float: right; 22 | ul { 23 | margin: 0; 24 | list-style: none; 25 | li { 26 | float: left; 27 | margin-left: 10px; 28 | } 29 | } 30 | } 31 | 32 | .scrollup { 33 | background: #00a9e0 none repeat scroll 0 0; 34 | border-radius: 3px; 35 | bottom: 30px; 36 | color: #fff; 37 | font-size: 18px; 38 | height: 40px; 39 | line-height: 36px; 40 | position: fixed; 41 | right: 20px; 42 | text-align: center; 43 | width: 40px; 44 | } 45 | 46 | .scrollup:hover, 47 | .scrollup:active, 48 | .scrollup:focus{ 49 | color: #ffffff; 50 | background: #0791BE; 51 | } 52 | -------------------------------------------------------------------------------- /sass/theme/header-media/_header-media.scss: -------------------------------------------------------------------------------- 1 | .wp-custom-header { 2 | position: relative; 3 | 4 | iframe { 5 | width: 100%; 6 | } 7 | .wp-custom-header-video-button { 8 | opacity: 0; 9 | visibility: hidden; 10 | position: absolute; 11 | top: 0; 12 | left: 0; 13 | right: 0; 14 | bottom: 0; 15 | margin: auto; 16 | width: 62px; 17 | height: 50px; 18 | font: 0px/0 a; 19 | -moz-transition: all 0.5s; 20 | -o-transition: all 0.5s; 21 | -webkit-transition: all 0.5s; 22 | transition: all 0.5s; 23 | &:before { 24 | content: '\f04b'; 25 | display: block; 26 | font-family: FontAwesome; 27 | font-size: 20px; 28 | } 29 | 30 | &.wp-custom-header-video-pause{ 31 | &:before{ 32 | content: '\f04c'; 33 | } 34 | } 35 | } 36 | &:hover{ 37 | .wp-custom-header-video-button { 38 | visibility: visible; 39 | opacity: 1; 40 | } 41 | } 42 | } -------------------------------------------------------------------------------- /sass/theme/header/_bottom-header.scss: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------- 2 | Bottom Header css 3 | --------------------------------------------------------------*/ 4 | 5 | .bottom-header-wrapper { 6 | border-top: 1px solid #e5e5e5; 7 | border-bottom: 1px solid #e5e5e5; 8 | position: relative; 9 | .tg-container{ 10 | position: static; 11 | } 12 | } 13 | .category-menu { 14 | background: #333 none repeat scroll 0 0; 15 | color: #fff; 16 | float: left; 17 | font-weight: 600; 18 | line-height: 43px; 19 | text-transform: capitalize; 20 | width: 230px; 21 | cursor: pointer; 22 | font-size: 14px; 23 | -webkit-transition: all 0.5s ease; 24 | -moz-transition: all 0.5s ease; 25 | -ms-transition: all 0.5s ease; 26 | -o-transition: all 0.5s ease; 27 | transition: all 0.5s ease; 28 | position: relative; 29 | margin-right: 30px; 30 | &:hover { 31 | background: $color__link; 32 | } 33 | .category-toggle { 34 | padding: 0 20px; 35 | i { 36 | float: right; 37 | line-height: 43px; 38 | } 39 | } 40 | .category-toggle.active{ 41 | background: $color__link; 42 | } 43 | } 44 | 45 | #category-navigation { 46 | background: #ffffff none repeat scroll 0 0; 47 | border: 2px solid #00a9e0; 48 | left: 0; 49 | position: absolute; 50 | top: 100%; 51 | width: 100%; 52 | z-index: 999; 53 | ul { 54 | list-style: none; 55 | margin: 0; 56 | li { 57 | padding: 0 20px; 58 | line-height: 38px; 59 | border-bottom: 1px solid rgba(0, 0, 0, 0.06); 60 | position: relative; 61 | a { 62 | color: #333; 63 | } 64 | &:hover > a { 65 | color: $color__link-hover; 66 | } 67 | &:last-child{ 68 | border-bottom: none; 69 | } 70 | } 71 | } 72 | } 73 | 74 | #category-navigation ul.sub-menu { 75 | background: #ffffff none repeat scroll 0 0; 76 | border: 2px solid #00a9e0; 77 | left: 110%; 78 | position: absolute; 79 | top: 0; 80 | width: 200px; 81 | opacity: 0; 82 | visibility: hidden; 83 | @include transition(all 0.5s ease); 84 | } 85 | 86 | #category-navigation ul li:hover > ul.sub-menu{ 87 | opacity: 1; 88 | visibility: visible; 89 | left: 100%; 90 | } 91 | 92 | -------------------------------------------------------------------------------- /sass/theme/header/_header-cart-popup.scss: -------------------------------------------------------------------------------- 1 | #masthead .widget_shopping_cart { 2 | background: #fff none repeat scroll 0 0; 3 | border: 1px solid #f1f1f1; 4 | box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.05); 5 | opacity: 0; 6 | padding: 20px 15px; 7 | position: absolute; 8 | left: 37%; 9 | top: 120%; 10 | visibility: hidden; 11 | width: 250px; 12 | @include transition(all 0.5s ease); 13 | @include transform(translateX(-50%)); 14 | z-index: 9; 15 | border-bottom: 3px solid #00A9E0; 16 | border-top: 3px solid #00A9E0; 17 | &:before{ 18 | border-left: 10px solid transparent; 19 | border-right: 10px solid transparent; 20 | border-bottom: 10px solid #00A9E0; 21 | content: ""; 22 | position: absolute; 23 | left: 50%; 24 | @include transform(translateX(-50%)); 25 | top: -10px; 26 | } 27 | } 28 | 29 | #masthead .cart-wrapper:hover .widget_shopping_cart { 30 | opacity: 1; 31 | visibility: visible; 32 | top: 110%; 33 | } 34 | 35 | .widget_shopping_cart { 36 | .total { 37 | border: 1px solid #e6e6e6; 38 | border-left: none; 39 | border-right: none; 40 | margin: 20px 0 0; 41 | padding: 5px 0; 42 | text-align: center; 43 | } 44 | .button { 45 | border: 1px solid #e6e6e6; 46 | border-radius: 25px; 47 | color: #787878; 48 | display: block; 49 | float: left; 50 | margin: 20px 0 0 3%; 51 | text-align: center; 52 | @include transition(all 0.5s ease); 53 | &:hover { 54 | background: $color__link; 55 | color: #ffffff; 56 | border-color: $color__link; 57 | } 58 | } 59 | } 60 | 61 | .widget_shopping_cart .buttons { 62 | margin-left: -3%; 63 | } 64 | 65 | .woocommerce.widget_shopping_cart .cart_list li { 66 | border-bottom: 1px solid #e1e1e1; 67 | margin-bottom: 10px; 68 | padding-bottom: 10px; 69 | padding-left: 0; 70 | padding-right: 32px; 71 | img { 72 | border-radius: 100%; 73 | box-shadow: none; 74 | float: left; 75 | height: auto; 76 | margin-right: 10px; 77 | width: 42px; 78 | } 79 | a.remove { 80 | left: auto; 81 | position: absolute; 82 | right: 0; 83 | top: 0; 84 | color: #F65656 !important; 85 | &:hover{ 86 | background: #F65656 !important; 87 | color: #ffffff !important; 88 | } 89 | } 90 | a { 91 | color: #333333; 92 | } 93 | } 94 | 95 | 96 | .woocommerce.widget_shopping_cart .total { 97 | padding: 4px 0; 98 | border-top: 1px solid #e1e1e1; 99 | border-bottom: 1px solid #e1e1e1; 100 | } 101 | 102 | .woocommerce .widget_shopping_cart_content .buttons { 103 | margin: 0; 104 | a.button { 105 | border: 1px solid #e6e6e6; 106 | border-radius: 25px; 107 | color: #787878; 108 | display: block; 109 | float: left; 110 | margin: 20px 0 0 3%; 111 | text-align: center; 112 | font-weight: 400; 113 | background: none; 114 | @include transition(all 0.5s ease); 115 | &:hover { 116 | background: $color__link; 117 | color: #ffffff; 118 | border-color: $color__link; 119 | } 120 | } 121 | } 122 | 123 | -------------------------------------------------------------------------------- /sass/theme/header/_menu.scss: -------------------------------------------------------------------------------- 1 | #site-navigation { 2 | float: left; 3 | ul { 4 | list-style: outside none none; 5 | margin: 0; 6 | padding: 0; 7 | li { 8 | float: left; 9 | font-size: 14px; 10 | font-weight: 700; 11 | line-height: 43px; 12 | margin-left: 38px; 13 | position: relative; 14 | a { 15 | color: $color__text-dark; 16 | position: relative; 17 | text-transform: uppercase; 18 | display: block; 19 | @include transition(all 0.5s ease); 20 | } 21 | 22 | &:first-child{ 23 | margin-left: 0; 24 | } 25 | } 26 | li.menu-item-has-children { 27 | padding-right: 10px; 28 | } 29 | } 30 | .sub-menu, 31 | .children { 32 | left: 0; 33 | min-width: 200px; 34 | position: absolute; 35 | top: 120%; 36 | border: 1px solid #e5e5e5; 37 | border-bottom: 3px solid #00A9E0; 38 | z-index: 999; 39 | background: #ffffff; 40 | box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.05); 41 | opacity: 0; 42 | visibility: hidden; 43 | li { 44 | display: block; 45 | float: none; 46 | margin-left: 0; 47 | a { 48 | border-bottom: 1px solid #e5e5e5; 49 | padding: 0 15px; 50 | } 51 | } 52 | li.menu-item-has-children{ 53 | padding-right: 0; 54 | } 55 | ul { 56 | top: 0; 57 | left: 110%; 58 | } 59 | } 60 | } 61 | 62 | #site-navigation ul li.menu-item-has-children > a:after { 63 | position: absolute; 64 | top: 50%; 65 | right: -15px; 66 | content: "\f107"; 67 | font-family: FontAwesome; 68 | color: #454545; 69 | @include transform(translateY(-50%)); 70 | @include transition(all 0.5s ease); 71 | } 72 | 73 | #site-navigation ul.sub-menu li.menu-item-has-children > a:after { 74 | content: "\f105"; 75 | right: 15px; 76 | } 77 | 78 | #site-navigation ul li:hover > a, 79 | #site-navigation ul li.current-menu-item > a, 80 | #site-navigation ul li:hover > a:after { 81 | color: #00A9E0; 82 | } 83 | 84 | #site-navigation ul li:hover > .sub-menu, 85 | #site-navigation ul li:hover > .children, 86 | #site-navigation ul li.sfHover > .sub-menu, 87 | #site-navigation ul li.sfHover > .children { 88 | top: 100%; 89 | visibility: visible; 90 | opacity: 1; 91 | } 92 | 93 | #site-navigation ul.sub-menu > li:hover > .sub-menu, 94 | #site-navigation ul.sub-menu > li.sfHover > .sub-menu { 95 | top: 0; 96 | visibility: visible; 97 | opacity: 1; 98 | left: 100%; 99 | } 100 | 101 | 102 | .sub-toggle { 103 | display: none; 104 | } 105 | -------------------------------------------------------------------------------- /sass/theme/header/_middle-header.scss: -------------------------------------------------------------------------------- 1 | .middle-header-wrapper { 2 | padding: 20px 0; 3 | } 4 | 5 | .custom-logo-link { 6 | float: left; 7 | margin-right: 10px; 8 | } 9 | 10 | .logo, 11 | .site-title-wrapper, 12 | .logo-wrapper { 13 | float: left; 14 | } 15 | 16 | .logo-wrapper { 17 | margin: 14px 0; 18 | } 19 | 20 | .logo { 21 | margin-right: 15px; 22 | } 23 | 24 | #site-title { 25 | float: none; 26 | font-size: 28px; 27 | margin: 0; 28 | line-height: 1.3; 29 | a { 30 | color: $color__text-dark; 31 | } 32 | } 33 | 34 | #site-description { 35 | color: $color__text-dark; 36 | font-size: 14px; 37 | font-weight: 400; 38 | margin: 0; 39 | } 40 | #header-sidebar { 41 | .widget { 42 | margin: 0; 43 | } 44 | } 45 | 46 | 47 | 48 | .widget-large-advertise, 49 | .wishlist-cart-wrapper { 50 | float: right; 51 | margin: 0; 52 | padding: 0; 53 | } 54 | 55 | .wishlist-cart-wrapper { 56 | margin: 22px 0; 57 | } 58 | 59 | .wishlist-wrapper, 60 | .wcmenucart-contents { 61 | background: #f65656 none repeat scroll 0 0; 62 | border-radius: 100%; 63 | float: left; 64 | height: 42px; 65 | line-height: 42px; 66 | margin-left: 25px; 67 | text-align: center; 68 | width: 42px; 69 | display: block; 70 | position: relative; 71 | } 72 | 73 | .wishlist-wrapper a, 74 | .cart-wrapper .estore-cart-views > a { 75 | color: #ffffff !important; 76 | } 77 | 78 | .wishlist-wrapper .wishlist-value, 79 | .cart-wrapper .cart-value { 80 | background: #fff none repeat scroll 0 0; 81 | border: 2px solid #f65656; 82 | border-radius: 100%; 83 | display: block; 84 | height: 24px; 85 | line-height: 19px; 86 | position: absolute; 87 | right: -10px; 88 | top: -9px; 89 | width: 24px; 90 | color: #f65656; 91 | font-size: 12px; 92 | } 93 | 94 | .wcmenucart-contents { 95 | background: #00A9E0; 96 | float: left; 97 | .cart-value { 98 | border: 2px solid #00A9E0; 99 | color: #00A9E0; 100 | } 101 | } 102 | 103 | .cart-wrapper { 104 | float: left; 105 | position: relative; 106 | } 107 | 108 | .my-cart-wrap { 109 | float: left; 110 | margin-left: 20px; 111 | .my-cart { 112 | font-size: 13px; 113 | font-weight: 700; 114 | text-transform: uppercase; 115 | } 116 | } 117 | 118 | .cart-total { 119 | font-size: 12px; 120 | font-weight: 600; 121 | } 122 | -------------------------------------------------------------------------------- /sass/theme/header/_search-user.scss: -------------------------------------------------------------------------------- 1 | /*-------------------------------------------------------------- 2 | Search User css 3 | --------------------------------------------------------------*/ 4 | 5 | .search-user-wrapper { 6 | float: right; 7 | } 8 | 9 | .search-user-block { 10 | border-left: 1px solid #e5e5e5; 11 | float: left; 12 | font-size: 16px; 13 | line-height: 43px; 14 | padding: 0; 15 | -webkit-transition: all 0.5s ease; 16 | -moz-transition: all 0.5s ease; 17 | -ms-transition: all 0.5s ease; 18 | -o-transition: all 0.5s ease; 19 | transition: all 0.5s ease; 20 | cursor: pointer; 21 | .search-icon { 22 | display: block; 23 | padding: 0 15px; 24 | } 25 | } 26 | 27 | .search-user-block a { 28 | color: #333; 29 | display: block; 30 | padding: 0 15px; 31 | } 32 | 33 | .search-user-block:hover { 34 | background: #00A9E0; 35 | color: #fff; 36 | } 37 | 38 | .search-user-block:hover a { 39 | color: #ffffff; 40 | } 41 | 42 | .user-wrapper.search-user-block { 43 | border-right: 1px solid #e5e5e5; 44 | } 45 | 46 | .search-wrapper { 47 | position: relative; 48 | .header-search-box { 49 | background: #ffffff none repeat scroll 0 0; 50 | border-bottom: 3px solid #00a9e0; 51 | border-top: 3px solid #00a9e0; 52 | box-shadow: 1px 1px 7px rgba(0, 0, 0, 0.15); 53 | padding: 15px; 54 | position: absolute; 55 | right: 0; 56 | top: 125%; 57 | width: 300px; 58 | z-index: 9999; 59 | opacity: 0; 60 | visibility: hidden; 61 | &:before { 62 | border-left: 10px solid transparent; 63 | border-right: 10px solid transparent; 64 | border-bottom: 10px solid #00A9E0; 65 | content: ""; 66 | position: absolute; 67 | right: 15px; 68 | top: -10px; 69 | } 70 | .search-field { 71 | border-radius: 0; 72 | padding: 4px 10px; 73 | width: 85%; 74 | float: left; 75 | } 76 | .searchsubmit { 77 | border: medium none; 78 | border-radius: 0; 79 | box-shadow: none; 80 | color: #fff; 81 | float: left; 82 | padding: 10px 0 10px; 83 | width: 15%; 84 | height: 36px; 85 | } 86 | } 87 | } 88 | 89 | .header-search-box.active{ 90 | opacity: 1; 91 | visibility: visible; 92 | } 93 | 94 | .no-results input[type="search"] { 95 | width: calc(100% - 43px); 96 | } 97 | 98 | .no-results form.searchform { 99 | display: flex; 100 | flex-wrap: wrap; 101 | } 102 | -------------------------------------------------------------------------------- /sass/theme/header/_top-header.scss: -------------------------------------------------------------------------------- 1 | .top-header-wrapper { 2 | background: #f0f0f0; 3 | } 4 | 5 | .left-top-header { 6 | float: left; 7 | } 8 | 9 | .right-top-header { 10 | float: right; 11 | .top-header-menu-wrapper { 12 | float: left; 13 | ul { 14 | margin: 0; 15 | list-style: none; 16 | padding: 0; 17 | li { 18 | border-right: 1px solid #c0bfbf; 19 | float: left; 20 | a { 21 | color: #6d6c6c; 22 | font-weight: 600; 23 | line-height: 38px; 24 | padding: 0 10px; 25 | display: block; 26 | &:hover{ 27 | background: $color__link; 28 | color: #ffffff; 29 | } 30 | } 31 | } 32 | } 33 | } 34 | } 35 | 36 | 37 | 38 | 39 | .left-header-block { 40 | border-right: 1px solid #c0bfbf; 41 | color: #6d6c6c; 42 | float: left; 43 | font-size: 12px; 44 | font-weight: 600; 45 | line-height: 12px; 46 | margin-right: 10px; 47 | margin-top: 12px; 48 | padding-right: 10px; 49 | i { 50 | margin-right: 5px; 51 | } 52 | } 53 | 54 | .contact-info { 55 | border-right: none; 56 | } 57 | 58 | .right-header-block { 59 | float: left; 60 | a { 61 | color: #6d6c6c; 62 | line-height: 38px; 63 | display: block; 64 | float: left; 65 | font-size: 12px; 66 | padding: 0 10px; 67 | font-weight: 600; 68 | border-right: 1px solid #c0bfbf; 69 | @include transition(all 0.5s ease); 70 | &:hover { 71 | background: #00a9e0; 72 | color: #ffffff; 73 | } 74 | i{ 75 | margin-left: 3px; 76 | } 77 | } 78 | 79 | } 80 | 81 | #lang_sel_click a.lang_sel_sel { 82 | background: rgba(0, 0, 0, 0) none repeat scroll 0 0; 83 | border: medium none; 84 | line-height: 38px; 85 | font-size: 12px; 86 | font-weight: 600; 87 | color: #6d6c6c; 88 | padding: 0 10px; 89 | border-right: 1px solid #c0bfbf; 90 | &:hover { 91 | background: #00a9e0; 92 | color: #ffffff; 93 | } 94 | } 95 | 96 | #lang_sel_click { 97 | float: left; 98 | font-family: "Open Sans", sans-serif; 99 | li { 100 | width: auto; 101 | } 102 | } 103 | 104 | #lang_sel_click ul ul { 105 | border-top: 2px solid #00A9E0; 106 | top: 100%; 107 | li { 108 | background: #f0f0f0; 109 | width: 100%; 110 | a { 111 | background: rgba(0, 0, 0, 0) none repeat scroll 0 0; 112 | border: none; 113 | border-bottom: 1px solid rgba(0, 0, 0, 0.1); 114 | display: block; 115 | padding: 6px 10px; 116 | } 117 | } 118 | } 119 | 120 | -------------------------------------------------------------------------------- /sass/theme/inner-page/_404.scss: -------------------------------------------------------------------------------- 1 | .error-wrap { 2 | text-align: center; 3 | margin-bottom: 40px; 4 | .num-404 { 5 | background: #f9f9f9 none repeat scroll 0 0; 6 | border-radius: 100%; 7 | color: #8c8c8c; 8 | display: inline-block; 9 | font-size: 90px; 10 | font-weight: 700; 11 | height: 300px; 12 | line-height: 300px; 13 | text-align: center; 14 | width: 300px; 15 | } 16 | .error { 17 | display: inline-block; 18 | font-size: 65px; 19 | font-weight: 700; 20 | text-transform: uppercase; 21 | color: #8c8c8c; 22 | margin-left: 30px; 23 | } 24 | } 25 | 26 | .page-not-found { 27 | text-align: center; 28 | .page-title { 29 | color: #8C8C8C; 30 | } 31 | } 32 | 33 | .error-404 .message { 34 | font-size: 14px; 35 | margin: 30px 0 40px; 36 | text-align: center; 37 | color: #8C8C8C; 38 | font-weight: 600; 39 | } 40 | 41 | .error-404.not-found .search-field { 42 | width: 94%; 43 | } 44 | 45 | .error-404.not-found .searchsubmit { 46 | height: 36px; 47 | margin-left: -3px; 48 | } 49 | 50 | .error-404.not-found .search-field { 51 | width: 90%; 52 | } 53 | 54 | .error-404.not-found .searchsubmit { 55 | display: inline-block; 56 | height: 36px; 57 | margin-left: -3px; 58 | width: 46px; 59 | vertical-align: top; 60 | } 61 | -------------------------------------------------------------------------------- /sass/theme/inner-page/_checkout.scss: -------------------------------------------------------------------------------- 1 | .woocommerce-page .woocommerce-checkout { 2 | margin-top: 40px; 3 | .checkout-form-wrapper { 4 | border: 1px solid #e1e1e1; 5 | } 6 | #customer_details.col2-set { 7 | .col-1, 8 | .col-2 { 9 | width: 60%; 10 | float: left; 11 | } 12 | .col-1 { 13 | border-right: 1px solid #e1e1e1; 14 | } 15 | .col-2 { 16 | width: 40%; 17 | } 18 | h3 { 19 | background: #F0F2F1; 20 | text-align: center; 21 | font-size: 14px; 22 | margin: 0; 23 | width: 100%; 24 | padding: 10px 0; 25 | text-transform: uppercase; 26 | } 27 | .form-billing-group, 28 | .shipping_address, 29 | #order_comments_field { 30 | padding: 20px; 31 | } 32 | .form-billing-group { 33 | .form-row-last, 34 | .form-row-first { 35 | width: 49%; 36 | } 37 | label { 38 | color: #333333; 39 | abbr { 40 | margin-left: 3px; 41 | border: none; 42 | text-decoration: none; 43 | } 44 | } 45 | } 46 | .shipping_address { 47 | .form-row-last, 48 | .form-row-first { 49 | width: 49%; 50 | } 51 | label { 52 | color: #333333; 53 | abbr { 54 | margin-left: 3px; 55 | border: none; 56 | text-decoration: none; 57 | } 58 | } 59 | } 60 | .select2-container .select2-choice { 61 | border-radius: 0; 62 | margin-top: 0; 63 | padding: 3px 10px 4px; 64 | } 65 | #order_comments_field { 66 | label { 67 | color: #333333; 68 | } 69 | textarea { 70 | height: 120px; 71 | background: #F6F6F6; 72 | padding: 10px; 73 | } 74 | } 75 | } 76 | #order_review_heading { 77 | background: #F0F2F1; 78 | text-align: left; 79 | font-size: 14px; 80 | margin: 0; 81 | width: 100%; 82 | padding: 10px 20px; 83 | text-transform: uppercase; 84 | } 85 | #order_review { 86 | padding: 20px; 87 | } 88 | } 89 | 90 | .woocommerce table.shop_table.woocommerce-checkout-review-order-table { 91 | tr { 92 | th { 93 | width: 70%; 94 | background: #F9F9F9; 95 | &:first-child { 96 | border-right: 1px solid #e1e1e1; 97 | } 98 | } 99 | td { 100 | border: none; 101 | &:first-child { 102 | border-right: 1px solid #e1e1e1; 103 | } 104 | border-bottom: 1px solid #e1e1e1; 105 | color: #333333; 106 | } 107 | } 108 | tr.cart-subtotal th, 109 | tr.shipping th { 110 | background: none; 111 | border-bottom: 1px solid #e1e1e1; 112 | } 113 | tr.order-total td { 114 | background: #F9F9F9; 115 | border-bottom: none; 116 | } 117 | } 118 | 119 | .woocommerce-checkout #payment { 120 | background: #F0F2F1; 121 | border-radius: 0; 122 | img { 123 | width: auto; 124 | } 125 | div.payment_box { 126 | background: #F9F9F9; 127 | border-radius: 0; 128 | &:before { 129 | border-bottom-color: #F9F9F9; 130 | } 131 | } 132 | } 133 | 134 | .woocommerce-checkout .login-form-info-wrapper { 135 | margin-bottom: 20px; 136 | .login { 137 | border-radius: 0; 138 | border-top: 0 none; 139 | color: #333; 140 | margin: 0; 141 | } 142 | } 143 | 144 | .woocommerce-page .woocommerce-billing-fields { 145 | .create-account { 146 | margin-bottom: 20px; 147 | padding: 0 20px; 148 | color: #333; 149 | } 150 | } 151 | -------------------------------------------------------------------------------- /sass/theme/inner-page/_info.scss: -------------------------------------------------------------------------------- 1 | .woocommerce { 2 | .woocommerce-info, 3 | .woocommerce-error, 4 | .woocommerce-message { 5 | border: none; 6 | border-left: 3px solid $color__link; 7 | font-weight: 600; 8 | margin-bottom: 30px; 9 | 10 | &:before { 11 | content: "\f05a"; 12 | font-family: FontAwesome; 13 | font-size: 16px; 14 | left: 20px; 15 | top: 50%; 16 | @include transform(translateY(-50%)); 17 | color: $color__link; 18 | } 19 | 20 | .showcoupon { 21 | margin-left: 10px; 22 | display: inline-block; 23 | } 24 | } 25 | 26 | .woocommerce-error { 27 | border-left: 3px solid #F65656; 28 | margin-bottom: 30px !important; 29 | 30 | &:before { 31 | content: "\f071"; 32 | color: #F65656; 33 | top: 10px; 34 | @include transform(translateY(0)); 35 | } 36 | } 37 | 38 | .woocommerce-message { 39 | margin-bottom: 30px; 40 | border-left: 3px solid #82B341; 41 | &:before { 42 | content: "\f058"; 43 | color: #82B341; 44 | } 45 | } 46 | 47 | form.checkout_coupon { 48 | margin: 0; 49 | padding: 20px; 50 | border-radius: 0; 51 | border-top: none; 52 | 53 | .form-row-last { 54 | float: left; 55 | } 56 | 57 | .form-row { 58 | padding: 0; 59 | } 60 | } 61 | } 62 | 63 | .woocommerce #respond input#submit, 64 | .woocommerce a.button, 65 | .woocommerce button.button, 66 | .woocommerce input.button, 67 | .woocommerce #respond input#submit.alt, 68 | .woocommerce a.button.alt, 69 | .woocommerce button.button.alt, 70 | .woocommerce input.button.alt { 71 | background: #00a9e0 none repeat scroll 0 0; 72 | border-radius: 0; 73 | color: #fff; 74 | font-weight: 600; 75 | height: 36px; 76 | padding: 0 20px; 77 | line-height: 32px; 78 | @include transition(background 0.5s ease); 79 | &:hover { 80 | background: $color__link-hover; 81 | } 82 | } 83 | -------------------------------------------------------------------------------- /sass/theme/inner-page/_wishlist.scss: -------------------------------------------------------------------------------- 1 | .wishlist-title { 2 | display: none; 3 | } 4 | 5 | .woocommerce #content .wishlist_table { 6 | thead { 7 | th { 8 | text-align: center; 9 | } 10 | } 11 | tbody { 12 | tr { 13 | td { 14 | border: medium none; 15 | height: 120px; 16 | padding: 0 20px; 17 | text-align: center; 18 | font-size: 14px; 19 | color: #333; 20 | } 21 | td.product-remove { 22 | text-align: center; 23 | a.remove_from_wishlist { 24 | background: $color__link; 25 | color: #fff !important; 26 | display: inline-block; 27 | font-size: 16px; 28 | height: 20px; 29 | line-height: 19px; 30 | text-align: center; 31 | width: 20px; 32 | &:hover { 33 | background: $color__link-hover; 34 | } 35 | } 36 | } 37 | td.product-thumbnail { 38 | text-align: center; 39 | img { 40 | border-radius: 100%; 41 | width: 80px; 42 | } 43 | } 44 | td.product-name { 45 | a { 46 | color: $color__text-dark; 47 | font-size: 14px; 48 | font-weight: 700; 49 | &:hover { 50 | color: $color__link-hover; 51 | } 52 | } 53 | } 54 | td.product-add-to-cart { 55 | a { 56 | background: #00a9e0 none repeat scroll 0 0; 57 | border-radius: 0; 58 | color: #fff; 59 | font-weight: 600; 60 | height: 36px; 61 | padding: 0 10px; 62 | line-height: 36px; 63 | @include transition(background 0.5s ease); 64 | &:hover { 65 | background: $color__link-hover; 66 | } 67 | } 68 | } 69 | } 70 | } 71 | tfoot { 72 | td { 73 | border: none; 74 | border-top: 1px solid #e1e1e1; 75 | } 76 | } 77 | } 78 | -------------------------------------------------------------------------------- /sass/theme/products/_woocommerce-sidebar.scss: -------------------------------------------------------------------------------- 1 | #content { 2 | .widget_shopping_cart { 3 | .product_list_widget { 4 | .mini_cart_item { 5 | border: 1px solid #e1e1e1; 6 | margin: 0 auto 15px; 7 | padding: 10px; 8 | width: 96%; 9 | .remove { 10 | top: 10px; 11 | right: 10px; 12 | } 13 | } 14 | } 15 | } 16 | } 17 | 18 | .woocommerce.widget_price_filter { 19 | .price_slider_wrapper { 20 | .ui-widget-content { 21 | background: #E6E6E6; 22 | margin-bottom: 30px; 23 | .ui-slider-range, 24 | .ui-slider-handle { 25 | background: $color__link; 26 | } 27 | .ui-slider-handle { 28 | border-radius: 0; 29 | width: 20px; 30 | height: 20px; 31 | @include transform(rotate(45deg)); 32 | top: 50%; 33 | margin-top: -10px; 34 | &:before { 35 | content: "\f07e"; 36 | font-family: FontAwesome; 37 | color: #ffffff; 38 | position: absolute; 39 | left: 50%; 40 | top: 50%; 41 | @include transform(translate(-50%, -50%) rotate(-45deg)); 42 | } 43 | } 44 | } 45 | .price_slider_amount { 46 | .price_label { 47 | font-size: 14px; 48 | } 49 | } 50 | } 51 | } 52 | 53 | .woocommerce .widget_layered_nav_filters ul li { 54 | float: none; 55 | font-size: 13px; 56 | font-weight: 400; 57 | margin-bottom: 10px; 58 | a { 59 | color: #333; 60 | &:hover { 61 | color: $color__link-hover; 62 | } 63 | } 64 | } 65 | 66 | .widget_product_search input[type="search"] { 67 | width: 73%; 68 | } 69 | 70 | .woocommerce-product-search input { 71 | display: block; 72 | float: left; 73 | height: 40px; 74 | margin-bottom: 40px; 75 | width: 27%; 76 | } 77 | 78 | .widget.woocommerce .product-title, 79 | .widget.woocommerce.widget_recent_reviews a{ 80 | color: #454545; 81 | display: block; 82 | font-size: 14px; 83 | } 84 | 85 | .widget.woocommerce .star-rating { 86 | color: $color__link; 87 | margin: 6px 0; 88 | } 89 | 90 | .widget.woocommerce .product_list_widget li { 91 | border-bottom: 1px solid #e1e1e1; 92 | padding-bottom: 10px; 93 | margin-bottom: 10px; 94 | } 95 | 96 | .widget.woocommerce .product_list_widget li:last-child{ 97 | margin-bottom: 0; 98 | padding-bottom: 0; 99 | border-bottom: none; 100 | } 101 | -------------------------------------------------------------------------------- /sass/theme/section/_about.scss: -------------------------------------------------------------------------------- 1 | .widget-about { 2 | position: relative; 3 | overflow: hidden; 4 | padding: 0; 5 | margin: 0; 6 | .tg-container { 7 | position: absolute; 8 | left: 50%; 9 | top: 0; 10 | height: 100%; 11 | max-width: 1200px; 12 | @include transform(translateX(-50%)); 13 | .about-content-wrapper { 14 | position: absolute; 15 | left: 0; 16 | top: 0; 17 | width: 50%; 18 | height: 100%; 19 | background: #f9f9f9; 20 | .about-block { 21 | position: absolute; 22 | top: 50%; 23 | left: 0; 24 | @include transform(translateY(-50%)); 25 | z-index: 999; 26 | .about-title { 27 | font-size: 28px; 28 | margin: 0; 29 | text-transform: uppercase; 30 | a { 31 | color: $color__text-dark; 32 | } 33 | } 34 | .about-sub-title { 35 | color: #00a9e0; 36 | margin: 10px 0; 37 | font-size: 16px; 38 | text-transform: capitalize; 39 | } 40 | .about-content { 41 | color: #737373; 42 | font-size: 14px; 43 | margin-top: 20px; 44 | } 45 | } 46 | &:before { 47 | content: ""; 48 | position: absolute; 49 | width: 1000%; 50 | height: 100%; 51 | background: #f9f9f9; 52 | left: -1000%; 53 | top: 0; 54 | } 55 | &:after { 56 | background: #f9f9f9 none repeat scroll 0 0; 57 | content: ""; 58 | height: 2000px; 59 | position: absolute; 60 | right: 650px; 61 | top: 50%; 62 | @include transform(rotate(70deg) translateY(-50%)); 63 | width: 2000px; 64 | z-index: 9; 65 | } 66 | } 67 | } 68 | } 69 | 70 | .about-img { 71 | margin: 0; 72 | img { 73 | width: 100%; 74 | display: block; 75 | } 76 | } 77 | -------------------------------------------------------------------------------- /sass/theme/section/_index-blog.scss: -------------------------------------------------------------------------------- 1 | .blog-section { 2 | background: #f9f9f9 none repeat scroll 0 0; 3 | padding: 40px 0; 4 | .widget-title{ 5 | font-size: 20px; 6 | margin: 0 0 24px; 7 | text-align: center; 8 | border:none; 9 | text-transform: uppercase; 10 | } 11 | .entry-title { 12 | margin-top: 20px; 13 | } 14 | .entry-content { 15 | margin-top: 10px; 16 | } 17 | } 18 | 19 | .widget_logo { 20 | padding: 40px 0; 21 | .widget-title { 22 | font-size: 20px; 23 | margin: 0 0 24px; 24 | text-align: center; 25 | border:none; 26 | text-transform: uppercase; 27 | } 28 | } 29 | -------------------------------------------------------------------------------- /sass/theme/section/_section-title.scss: -------------------------------------------------------------------------------- 1 | .section-title-wrapper { 2 | border-bottom: 1px solid #e1e1e1; 3 | padding-bottom: 10px; 4 | margin-bottom: 20px; 5 | .section-title-block { 6 | float: left; 7 | .page-title { 8 | display: inline-block; 9 | font-size: 20px; 10 | margin: 0; 11 | position: relative; 12 | a { 13 | color: $color__text-dark; 14 | &:hover { 15 | color: $color_default_hover; 16 | } 17 | } 18 | } 19 | .page-sub-title { 20 | display: inline-block; 21 | font-size: 13px; 22 | color: #7f7d7d; 23 | font-weight: 400; 24 | position: relative; 25 | margin: 0 0 0 10px; 26 | padding-left: 15px; 27 | &:before { 28 | position: absolute; 29 | left: 0; 30 | content: "/"; 31 | top: 0; 32 | } 33 | } 34 | } 35 | } 36 | 37 | .widget-collection .page-title:after, 38 | .widget-featured-collection .page-title:after { 39 | position: absolute; 40 | left: 0; 41 | bottom: -13px; 42 | content: ""; 43 | width: 100%; 44 | height: 2px; 45 | background: $color_default; 46 | } 47 | 48 | .sorting-form-wrapper { 49 | float: right; 50 | .sort-text { 51 | float: left; 52 | font-weight: 700; 53 | } 54 | .woocommerce-ordering { 55 | float: left; 56 | margin-left: 15px; 57 | } 58 | } 59 | 60 | .view-all { 61 | float: right; 62 | a{ 63 | color: #333333; 64 | &:hover{ 65 | color: $color__link-hover; 66 | } 67 | } 68 | } 69 | 70 | 71 | /*-------------------------------------------------------------- 72 | ## feature color 73 | --------------------------------------------------------------*/ 74 | 75 | .widget-featured-collection .page-title:after { 76 | background: $color_featured; 77 | } 78 | 79 | .widget-featured-collection .section-title-wrapper .section-title-block .page-title { 80 | a { 81 | &:hover { 82 | color: $color_featured_hover; 83 | } 84 | } 85 | } 86 | 87 | 88 | /*-------------------------------------------------------------- 89 | ## collection color 90 | --------------------------------------------------------------*/ 91 | .product-collection .page-title:after { 92 | position: absolute; 93 | left: 0; 94 | bottom: -12px; 95 | content: ""; 96 | width: 100%; 97 | height: 2px; 98 | background: $color_default; 99 | } 100 | 101 | .men-collection-color .page-title:after { 102 | background: $color_default; 103 | } 104 | 105 | .men-collection-color .section-title-wrapper .section-title-block .page-title { 106 | a { 107 | &:hover { 108 | color: $color_default_hover; 109 | } 110 | } 111 | } 112 | -------------------------------------------------------------------------------- /sass/theme/section/_thumb-collection.scss: -------------------------------------------------------------------------------- 1 | .collection-thumb-block { 2 | position: relative; 3 | .collection-thumb-img { 4 | margin: 0; 5 | overflow: hidden; 6 | img { 7 | display: block; 8 | @include transform(scale(1) rotate(0deg)); 9 | @include transition(all 0.3s ease); 10 | } 11 | } 12 | .collection-thumb-hover { 13 | background: rgba(0, 0, 0, 0.7) none repeat scroll 0 0; 14 | height: 100%; 15 | left: 0; 16 | position: absolute; 17 | top: 0; 18 | width: 100%; 19 | .collection-thumb-title-wrapper { 20 | bottom: 30px; 21 | left: 0; 22 | position: absolute; 23 | text-align: center; 24 | width: 100%; 25 | @include transition(all 0.3s ease); 26 | .collection-thumb-title { 27 | color: #ffffff; 28 | font-size: 26px; 29 | font-weight: 700; 30 | display: block; 31 | text-transform: uppercase; 32 | } 33 | .collection-thumb-sub-title { 34 | display: block; 35 | color: #dcdcdc; 36 | font-size: 16px; 37 | text-transform: uppercase; 38 | padding: 0 30px; 39 | } 40 | } 41 | &:after { 42 | border: 2px solid rgba(255, 255, 255, 0.7); 43 | content: ""; 44 | height: 90%; 45 | left: 50%; 46 | position: absolute; 47 | top: 50%; 48 | transform: translate(-50%, -50%); 49 | width: 93%; 50 | } 51 | } 52 | &:hover { 53 | img { 54 | @include transform(scale(1.1) rotate(-2deg)); 55 | } 56 | 57 | .collection-thumb-hover{ 58 | .collection-thumb-title-wrapper{ 59 | bottom: 40px; 60 | } 61 | } 62 | } 63 | } 64 | -------------------------------------------------------------------------------- /sass/theme/tags/_tags.scss: -------------------------------------------------------------------------------- 1 | .new-tag, 2 | .sales-tag { 3 | display: inline-block; 4 | left: 0; 5 | padding: 2px 20px; 6 | position: absolute; 7 | top: 30px; 8 | color: #ffffff; 9 | text-transform: uppercase; 10 | z-index: 99; 11 | } 12 | 13 | .new-tag { 14 | background: #00A9E0; 15 | &:before, 16 | &:after { 17 | border-bottom: 13px solid transparent; 18 | border-left: 10px solid #00A9E0; 19 | border-top: 0 solid transparent; 20 | content: ""; 21 | right: -10px; 22 | position: absolute; 23 | top: 0; 24 | } 25 | &:after { 26 | bottom: 0; 27 | border-bottom: 0 solid transparent; 28 | border-left: 10px solid #00A9E0; 29 | border-top: 13px solid transparent; 30 | top: auto; 31 | } 32 | } 33 | 34 | .sales-tag { 35 | background: #F65656; 36 | right: 0; 37 | left: auto; 38 | &:before, 39 | &:after { 40 | border-bottom: 13px solid transparent; 41 | border-right: 10px solid #F65656; 42 | border-top: 0 solid transparent; 43 | content: ""; 44 | left: -10px; 45 | position: absolute; 46 | top: 0; 47 | } 48 | &:after { 49 | bottom: 0; 50 | border-bottom: 0 solid transparent; 51 | border-right: 10px solid #F65656; 52 | border-top: 13px solid transparent; 53 | top: auto; 54 | } 55 | } 56 | -------------------------------------------------------------------------------- /sass/variables-site/_colors.scss: -------------------------------------------------------------------------------- 1 | $color__background-body: #fff; 2 | $color__background-screen: #f1f1f1; 3 | $color__background-hr: #ccc; 4 | $color__background-button: #00A9E0; 5 | $color__background-pre: #eee; 6 | $color__background-ins: #fff9c0; 7 | 8 | $color__text-screen: #21759b; 9 | $color__text-input: #666; 10 | $color__text-input-focus: #111; 11 | $color__link: #00A9E0; 12 | $color__link-visited: #0191BC; 13 | $color__link-hover: #0191BC; 14 | $color__text-main: #333333; 15 | $color__text-dark: #454545; 16 | 17 | $color__border-button: #ccc #ccc #bbb; 18 | $color__border-button-hover: #ccc #bbb #aaa; 19 | $color__border-button-focus: #aaa #bbb #bbb; 20 | $color__border-input: #ccc; 21 | $color__border-abbr: #666; 22 | 23 | $color_default: #00A9E0; 24 | $color_default_hover: #0191BC; 25 | 26 | $color_featured: #ffc300; 27 | $color_featured_hover: #e2ae04; 28 | -------------------------------------------------------------------------------- /sass/variables-site/_structure.scss: -------------------------------------------------------------------------------- 1 | $size__site-main: 100%; 2 | $size__site-sidebar: 25%; 3 | -------------------------------------------------------------------------------- /sass/variables-site/_typography.scss: -------------------------------------------------------------------------------- 1 | $font__main: 'Open Sans', sans-serif; 2 | $font__code: Monaco, Consolas, "Andale Mono", "DejaVu Sans Mono", monospace; 3 | $font__pre: "Courier 10 Pitch", Courier, monospace; 4 | $font__line-height-body: 1.8; 5 | $font__line-height-pre: 1.8; -------------------------------------------------------------------------------- /sass/variables-site/_variables-site.scss: -------------------------------------------------------------------------------- 1 | @import "colors"; 2 | @import "typography"; 3 | @import "structure"; -------------------------------------------------------------------------------- /screenshot.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/themegrill/estore/11b69fc76dffc9ad26cf7bd827dcb35f1f1363d3/screenshot.jpg -------------------------------------------------------------------------------- /search.php: -------------------------------------------------------------------------------- 1 | 16 | 17 |
18 | 28 |
29 |
30 |
31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |
49 | 50 |
51 |
52 |
53 | 54 | 55 | 56 | 57 | -------------------------------------------------------------------------------- /searchform.php: -------------------------------------------------------------------------------- 1 | 10 | 14 | -------------------------------------------------------------------------------- /sidebar-footer.php: -------------------------------------------------------------------------------- 1 | 23 | 56 | -------------------------------------------------------------------------------- /sidebar-header.php: -------------------------------------------------------------------------------- 1 | 16 | 17 | 26 | -------------------------------------------------------------------------------- /sidebar-left.php: -------------------------------------------------------------------------------- 1 | 16 | 17 | 26 | -------------------------------------------------------------------------------- /sidebar-shop.php: -------------------------------------------------------------------------------- 1 | term_id){ 20 | $cat_ID = $categoryobj->term_id; 21 | } 22 | } 23 | ?> 24 | 25 | 34 | -------------------------------------------------------------------------------- /sidebar.php: -------------------------------------------------------------------------------- 1 | 16 | 17 | 24 | -------------------------------------------------------------------------------- /single.php: -------------------------------------------------------------------------------- 1 | 15 |
16 | 22 |
23 |
24 |
25 | 27 | 28 | 29 | 30 | 31 | 32 | 33 |
34 |
35 |
36 |

37 | 38 |

39 |
40 |
41 | 42 | 43 | 47 | 48 | 57 |
58 | 59 |
60 |
61 |
62 | 63 | 64 | -------------------------------------------------------------------------------- /template-parts/content-none.php: -------------------------------------------------------------------------------- 1 | 11 | 12 |
13 | 14 | 15 | 18 | 19 |
20 | 21 | 22 |

Get started here.', 'estore' ), array( 'a' => array( 'href' => array() ) ) ), esc_url( admin_url( 'post-new.php' ) ) ); ?>

23 | 24 | 25 | 26 |

27 | 28 | 29 | 30 | 31 |

32 | 33 | 34 | 35 |
36 | 37 | 38 |
39 | -------------------------------------------------------------------------------- /template-parts/content-page.php: -------------------------------------------------------------------------------- 1 | 13 | 14 |
> 15 | 16 | 17 |
18 | 19 | 20 | 21 |
22 |
23 |
24 | 25 | '', 29 | ) ); 30 | ?> 31 |
32 |
33 |
34 |
35 | 36 | 37 |
38 | -------------------------------------------------------------------------------- /template-parts/content-single.php: -------------------------------------------------------------------------------- 1 | 13 |
> 14 | 15 | 16 |
17 | 19 | 20 | 25 |
26 | 27 | ', '' ); ?> 28 | 29 |
30 |
31 | 32 |
33 | 34 | 38 |
39 | 41 |
42 | 45 | '', 49 | ) ); 50 | ?> 51 |
52 |
53 |
54 | 55 | 56 |
57 | -------------------------------------------------------------------------------- /template-parts/content.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |
> 14 | 15 | 16 |
17 | 19 | 20 | 21 | 22 | 23 | 28 |
29 | 30 | ', '' ); 33 | } else { 34 | the_title( '

', '

' ); 35 | } 36 | ?> 37 | 38 |
39 |
40 | 41 |
42 | 43 |
44 | 46 |
47 |
48 |
49 |
50 | 51 | 52 |
53 | -------------------------------------------------------------------------------- /woocommerce/add-to-wishlist-button.php: -------------------------------------------------------------------------------- 1 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /woocommerce/add-to-wishlist.php: -------------------------------------------------------------------------------- 1 | 12 | 13 |
14 | 15 |
16 | 17 | 18 | 19 |
20 | 21 | 27 | 28 |
29 | 30 | 31 | 32 | 33 |
34 | 35 |
36 |
37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 |
45 | 46 |
47 | -------------------------------------------------------------------------------- /woocommerce/archive-product.php: -------------------------------------------------------------------------------- 1 | 25 | 26 |
27 | 28 | 47 | 48 |
49 |
50 | 61 | 62 | 63 | 64 | 74 | 75 | 76 | 77 | 82 | 83 | 88 | 89 | 99 | 100 | 104 | 105 | 106 | 107 | 126 | 127 | 135 | 136 | 144 |
145 |
146 | 147 |
148 | 149 | 150 | -------------------------------------------------------------------------------- /woocommerce/cart/cart-totals.php: -------------------------------------------------------------------------------- 1 | 23 | cart->get_cross_sells(); 25 | 26 | if ( 0 === sizeof( $crosssells ) ) { 27 | $class = ' cart-total-full'; 28 | } else { 29 | $class = ' cart-total-with-cross-sell'; 30 | } 31 | ?> 32 |
38 | 39 | 40 | 41 |

42 | 43 | 44 | 45 | 46 | 47 | 48 | 49 | 50 | cart->get_coupons() as $code => $coupon ) : ?> 51 | 52 | 53 | 54 | 55 | 56 | 57 | cart->needs_shipping() && WC()->cart->show_shipping() ) : ?> 58 | 59 | 60 | 61 | 62 | 63 | 64 | 65 | cart->needs_shipping() ) : ?> 66 | 67 | 68 | 69 | 70 | 71 | 72 | 73 | 74 | cart->get_fees() as $fee ) : ?> 75 | 76 | 77 | 78 | 79 | 80 | 81 | get_tax_price_display_mode(); 86 | } else { 87 | $tax_display = WC()->cart->tax_display_cart; 88 | } 89 | 90 | if ( wc_tax_enabled() && 'excl' === $tax_display ) : 91 | $estimated_text = 1 || WC()->customer->is_customer_outside_base() && ! WC()->customer->has_calculated_shipping() 92 | ? sprintf( ' (' . esc_html__( 'estimated for %s', 'estore' ) . ')', WC()->countries->estimated_for_prefix() . WC()->countries->countries[ WC()->countries->get_base_country() ] ) 93 | : ''; 94 | 95 | if ( 'itemized' === get_option( 'woocommerce_tax_total_display' ) ) : 96 | ?> 97 | cart->get_tax_totals() as $code => $tax ) : ?> 98 | 99 | 100 | 101 | 102 | 103 | 104 | 105 | 106 | 107 | 108 | 109 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 |
name ); ?>
label ) . $estimated_text; ?>formatted_amount ); ?>
countries->tax_or_vat() ) . $estimated_text; ?>
121 | 122 |
123 | 124 |
125 | 126 | 127 | 128 |
129 | -------------------------------------------------------------------------------- /woocommerce/cart/cross-sells.php: -------------------------------------------------------------------------------- 1 | 24 | 25 |
26 | 27 |

28 | 29 | 30 | 31 | 32 | 33 | get_id() ); 35 | setup_postdata( $GLOBALS['post'] =& $post_object ); 36 | wc_get_template_part( 'content', 'product' ); 37 | ?> 38 | 39 | 40 | 41 | 42 | 43 |
44 | 45 | 23 |
24 | cart->needs_shipping() ) : ?> 25 | 26 |

27 | 28 | 29 | 30 |

31 | 32 | 33 | 34 | 35 | 36 |
37 | get_checkout_fields( 'billing' ); 39 | 40 | foreach ( $fields as $key => $field ) { 41 | woocommerce_form_field( $key, $field, $checkout->get_value( $key ) ); 42 | } 43 | ?> 44 |
45 | 46 | 47 |
48 | 49 | is_registration_enabled() ) : ?> 50 | 76 | 77 | -------------------------------------------------------------------------------- /woocommerce/checkout/form-checkout.php: -------------------------------------------------------------------------------- 1 | is_registration_enabled() && $checkout->is_registration_required() && ! is_user_logged_in() ) { 26 | echo esc_html( apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'estore' ) ) ); 27 | return; 28 | } 29 | 30 | ?> 31 | 32 |
33 | 34 |
35 | 36 | get_checkout_fields() ) : ?> 37 | 38 | 39 | 40 |
41 |
42 | 43 |
44 | 45 |
46 | 47 |
48 |
49 | 50 | 51 | 52 | 53 | 54 |

55 | 56 | 57 | 58 |
59 | 60 |
61 | 62 | 63 | 64 |
65 | 66 |
67 | 68 | 69 | -------------------------------------------------------------------------------- /woocommerce/checkout/form-login.php: -------------------------------------------------------------------------------- 1 | 24 | 39 | -------------------------------------------------------------------------------- /woocommerce/content-product.php: -------------------------------------------------------------------------------- 1 | is_visible() ) { 25 | return; 26 | } 27 | ?> 28 |
  • > 29 | 64 |
  • 65 | -------------------------------------------------------------------------------- /woocommerce/content-single-product.php: -------------------------------------------------------------------------------- 1 | 24 | 25 | 38 | 39 |
    > 40 | 41 | 50 | 51 |
    52 | 53 | 68 | 69 |
    70 | 71 | 81 | 82 |
    83 | 84 | '; 26 | } 27 | -------------------------------------------------------------------------------- /woocommerce/global/wrapper-start.php: -------------------------------------------------------------------------------- 1 | '; 26 | } 27 | -------------------------------------------------------------------------------- /woocommerce/loop/add-to-cart.php: -------------------------------------------------------------------------------- 1 | %s', 26 | esc_url( $product->add_to_cart_url() ), 27 | esc_attr( isset( $args['quantity'] ) ? $args['quantity'] : 1 ), 28 | esc_attr( isset( $args['class'] ) ? $args['class'] : 'button' ), 29 | isset( $args['attributes'] ) ? wc_implode_html_attributes( $args['attributes'] ) : '', 30 | esc_html( $product->add_to_cart_text() ) 31 | ), 32 | $product, 33 | $args 34 | ); 35 | -------------------------------------------------------------------------------- /woocommerce/loop/price.php: -------------------------------------------------------------------------------- 1 | 24 | 25 | get_price_html() ) : ?> 26 | 27 | 28 | -------------------------------------------------------------------------------- /woocommerce/loop/rating.php: -------------------------------------------------------------------------------- 1 | get_average_rating() ); 27 | -------------------------------------------------------------------------------- /woocommerce/single-product.php: -------------------------------------------------------------------------------- 1 | 26 | 27 |
    28 | 29 | 39 | 40 |
    41 |
    42 | 53 | 54 | 58 | 59 | 60 | 61 | 62 | 63 | 71 | 72 | 80 |
    81 | 82 |
    83 | 84 |
    85 | 86 | 87 | -------------------------------------------------------------------------------- /woocommerce/single-product/price.php: -------------------------------------------------------------------------------- 1 | 26 |

    get_price_html(); ?>

    27 |
    28 | -------------------------------------------------------------------------------- /woocommerce/single-product/related.php: -------------------------------------------------------------------------------- 1 | 23 | 50 | 51 | term_id; 22 | ?> 23 | 24 |
    25 | 26 | 46 | 47 |
    48 |
    49 | woocommerce_product_loop_start( false ), 104 | 'after' => woocommerce_product_loop_end( false ), 105 | ) 106 | ) ) : 107 | wc_get_template( 'loop/no-products-found.php' ); 108 | endif; 109 | 110 | /** 111 | * woocommerce_after_main_content hook 112 | * 113 | * @hooked woocommerce_output_content_wrapper_end - 10 (outputs closing divs for the content) 114 | */ 115 | do_action( 'woocommerce_after_main_content' ); 116 | 117 | /** 118 | * woocommerce_sidebar hook 119 | * 120 | * @hooked woocommerce_get_sidebar - 10 121 | */ 122 | do_action( 'woocommerce_sidebar' ); 123 | ?> 124 |
    125 |
    126 | 127 |
    128 | 129 | 130 | -------------------------------------------------------------------------------- /wpml-config.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | --------------------------------------------------------------------------------