diff --git a/archive.php b/archive.php
index a2cbad8..8036852 100644
--- a/archive.php
+++ b/archive.php
@@ -17,7 +17,7 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
-
+
diff --git a/author.php b/author.php
index e177e5f..a0074c9 100644
--- a/author.php
+++ b/author.php
@@ -15,7 +15,7 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
-
+
@@ -41,7 +41,7 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
user_url ) ) : ?>
- user_url ); ?>
+ user_url ); ?>
diff --git a/composer.json b/composer.json
new file mode 100644
index 0000000..70934e7
--- /dev/null
+++ b/composer.json
@@ -0,0 +1,10 @@
+{
+ "name": "holger1411/understrap",
+ "description": "Combines AutomatticĀ“s Underscores Starter Theme and Bootstrap 4",
+ "type": "library",
+ "license": "GPL-2.0",
+ "minimum-stability": "stable",
+ "require": {},
+ "keywords": ["wordpress","theme","bootstrap"],
+ "homepage": "https://github.com/holger1411/understrap"
+}
diff --git a/footer.php b/footer.php
index c9cd812..301599d 100644
--- a/footer.php
+++ b/footer.php
@@ -15,7 +15,7 @@ $container = get_theme_mod( 'understrap_container_type' );
-
+
diff --git a/inc/bootstrap-wp-navwalker.php b/inc/bootstrap-wp-navwalker.php
index 53a10cb..0d43046 100644
--- a/inc/bootstrap-wp-navwalker.php
+++ b/inc/bootstrap-wp-navwalker.php
@@ -64,9 +64,9 @@ class WP_Bootstrap_Navwalker extends Walker_Nav_Menu {
} else if ( strcasecmp( $item->title, 'divider' ) == 0 && $depth === 1 ) {
$output .= $indent . '';
} else if ( strcasecmp( $item->attr_title, 'dropdown-header' ) == 0 && $depth === 1 ) {
- $output .= $indent . ' ' . esc_attr( $item->title );
+ $output .= $indent . ' ' . esc_html( $item->title );
} else if ( strcasecmp( $item->attr_title, 'disabled' ) == 0 ) {
- $output .= $indent . ' ' . esc_attr( $item->title ) . '';
+ $output .= $indent . ' ' . esc_html( $item->title ) . '';
} else {
$class_names = $value = '';
$classes = empty( $item->classes ) ? array() : (array) $item->classes;
diff --git a/inc/widgets.php b/inc/widgets.php
index 27e23e7..ecf8396 100644
--- a/inc/widgets.php
+++ b/inc/widgets.php
@@ -24,7 +24,7 @@ if ( ! function_exists( 'slbd_count_widgets' ) ) {
$widget_count = count( $sidebars_widgets_count[ $sidebar_id ] );
$widget_classes = 'widget-count-' . count( $sidebars_widgets_count[ $sidebar_id ] );
if ( $widget_count % 4 == 0 || $widget_count > 6 ) :
- // Four widgets er row if there are exactly four or more than six
+ // Four widgets per row if there are exactly four or more than six
$widget_classes .= ' col-md-3';
elseif ( 6 == $widget_count ) :
// If two widgets are published
diff --git a/index.php b/index.php
index 7832076..b7eb064 100644
--- a/index.php
+++ b/index.php
@@ -23,7 +23,7 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
-
+
diff --git a/package.json b/package.json
index 685b7a4..588efab 100644
--- a/package.json
+++ b/package.json
@@ -28,26 +28,26 @@
"homepage": "https://understrap.com",
"dependencies": {
"bootstrap": "4.0.0-beta",
- "browser-sync": "^2.18.11",
- "del": "^2.2.2",
+ "browser-sync": "^2.18.12",
+ "del": "^3.0.0",
"font-awesome": "^4.7.0",
"gulp": "^3.9.1",
- "gulp-clean-css": "^3.3.1",
+ "gulp-clean-css": "^3.7.0",
"gulp-clone": "^1.0.0",
"gulp-concat": "^2.6.1",
"gulp-cssnano": "^2.1.2",
"gulp-ignore": "^2.0.2",
- "gulp-imagemin": "^3.2.0",
+ "gulp-imagemin": "^3.3.0",
"gulp-merge": "^0.1.1",
"gulp-plumber": "^1.1.0",
"gulp-rename": "^1.2.2",
"gulp-rimraf": "^0.2.1",
"gulp-sass": "^3.1.0",
"gulp-sourcemaps": "2.6.0",
- "gulp-uglify": "^2.1.2",
+ "gulp-uglify": "^3.0.0",
"gulp-watch": "^4.3.11",
- "merge2": "^1.0.3",
- "run-sequence": "^1.2.2",
+ "merge2": "^1.1.0",
+ "run-sequence": "^2.0.0",
"gulp-sequence": "^0.4.6",
"undescores-for-npm": "^1.0.0",
"jquery": "3.0.0",
diff --git a/page-templates/both-sidebarspage.php b/page-templates/both-sidebarspage.php
index 0d3b942..24c7ce7 100644
--- a/page-templates/both-sidebarspage.php
+++ b/page-templates/both-sidebarspage.php
@@ -13,7 +13,7 @@ $container = get_theme_mod( 'understrap_container_type' );
-
+
diff --git a/page-templates/fullwidthpage.php b/page-templates/fullwidthpage.php
index aa09c1f..0f55bca 100644
--- a/page-templates/fullwidthpage.php
+++ b/page-templates/fullwidthpage.php
@@ -13,7 +13,7 @@ $container = get_theme_mod( 'understrap_container_type' );
-
+
diff --git a/page-templates/left-sidebarpage.php b/page-templates/left-sidebarpage.php
index c739c8e..4aeffd0 100644
--- a/page-templates/left-sidebarpage.php
+++ b/page-templates/left-sidebarpage.php
@@ -13,7 +13,7 @@ $container = get_theme_mod( 'understrap_container_type' );
-
+
diff --git a/page-templates/right-sidebarpage.php b/page-templates/right-sidebarpage.php
index 7aa91fb..f9630a4 100644
--- a/page-templates/right-sidebarpage.php
+++ b/page-templates/right-sidebarpage.php
@@ -13,7 +13,7 @@ $container = get_theme_mod( 'understrap_container_type' );
-
+
diff --git a/page.php b/page.php
index a3f2518..6bd409c 100644
--- a/page.php
+++ b/page.php
@@ -19,7 +19,7 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
-
+
diff --git a/search.php b/search.php
index cd3c645..1817471 100644
--- a/search.php
+++ b/search.php
@@ -13,7 +13,7 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
-
+
diff --git a/sidebar-footerfull.php b/sidebar-footerfull.php
index 0483caf..2017f6f 100644
--- a/sidebar-footerfull.php
+++ b/sidebar-footerfull.php
@@ -15,7 +15,7 @@ $container = get_theme_mod( 'understrap_container_type' );
-
+
diff --git a/sidebar-statichero.php b/sidebar-statichero.php
index b9256b5..cfe9e49 100644
--- a/sidebar-statichero.php
+++ b/sidebar-statichero.php
@@ -15,7 +15,7 @@ $container = get_theme_mod( 'understrap_container_type' );
-
+
diff --git a/single.php b/single.php
index c9f3d8a..16f790d 100644
--- a/single.php
+++ b/single.php
@@ -12,7 +12,7 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
-
+
diff --git a/woocommerce.php b/woocommerce.php
index caaf8c1..7508252 100644
--- a/woocommerce.php
+++ b/woocommerce.php
@@ -19,7 +19,7 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
-
+
@@ -28,7 +28,27 @@ $sidebar_pos = get_theme_mod( 'understrap_sidebar_position' );
-
+
diff --git a/woocommerce/archive-product.php b/woocommerce/archive-product.php
deleted file mode 100644
index 6d74fb4..0000000
--- a/woocommerce/archive-product.php
+++ /dev/null
@@ -1,108 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- woocommerce_product_loop_start( false ), 'after' => woocommerce_product_loop_end( false ) ) ) ) : ?>
-
-
-
-
-
-
-
-
-
-
diff --git a/woocommerce/cart/cart-empty.php b/woocommerce/cart/cart-empty.php
index 1f495be..001cf99 100644
--- a/woocommerce/cart/cart-empty.php
+++ b/woocommerce/cart/cart-empty.php
@@ -13,27 +13,24 @@
* @see https://docs.woocommerce.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates
- * @version 2.0.0
+ * @version 3.1.0
*/
if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly.
+ exit; // Exit if accessed directly
}
wc_print_notices();
-?>
+/**
+ * @hooked wc_empty_cart_message - 10
+ */
+do_action( 'woocommerce_cart_is_empty' );
-
-
-
-
-
+
+
+
+
-
+
echo apply_filters( 'woocommerce_cart_item_remove_link', sprintf(
'×',
esc_url( WC()->cart->get_remove_url( $cart_item_key ) ),
- __( 'Remove this item', 'understrap' ),
+ esc_attr__( 'Remove this item', 'woocommerce' ),
esc_attr( $product_id ),
esc_attr( $_product->get_sku() )
), $cart_item_key );
?>
-
- get_image(), $cart_item, $cart_item_key );
+
+ get_image(), $cart_item, $cart_item_key );
- if ( ! $product_permalink ) {
- echo $thumbnail;
- } else {
- printf( '%s', esc_url( $product_permalink ), $thumbnail );
- }
- ?>
-
+ if ( ! $product_permalink ) {
+ echo $thumbnail;
+ } else {
+ printf( '%s', esc_url( $product_permalink ), $thumbnail );
+ }
+ ?>
+
-
- get_title(), $cart_item, $cart_item_key ) . ' ';
- } else {
- echo apply_filters( 'woocommerce_cart_item_name', sprintf( '%s', esc_url( $product_permalink ), $_product->get_title() ), $cart_item, $cart_item_key );
- }
+
+ get_name(), $cart_item, $cart_item_key ) . ' ';
+ } else {
+ echo apply_filters( 'woocommerce_cart_item_name', sprintf( '%s', esc_url( $product_permalink ), $_product->get_name() ), $cart_item, $cart_item_key );
+ }
- // Meta data
- echo WC()->cart->get_item_data( $cart_item );
+ // Meta data
+ echo WC()->cart->get_item_data( $cart_item );
- // Backorder notification
- if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
- echo '
+ // Backorder notification
+ if ( $_product->backorders_require_notification() && $_product->is_on_backorder( $cart_item['quantity'] ) ) {
+ echo '
- cart->get_product_price( $_product ), $cart_item, $cart_item_key );
- ?>
-
+
+ cart->get_product_price( $_product ), $cart_item, $cart_item_key );
+ ?>
+
-
- is_sold_individually() ) {
- $product_quantity = sprintf( '1 ', $cart_item_key );
- } else {
- $product_quantity = woocommerce_quantity_input( array(
- 'input_name' => "cart[{$cart_item_key}][qty]",
- 'input_value' => $cart_item['quantity'],
- 'max_value' => $_product->backorders_allowed() ? '' : $_product->get_stock_quantity(),
- 'min_value' => '0'
- ), $_product, false );
- }
+
+ is_sold_individually() ) {
+ $product_quantity = sprintf( '1 ', $cart_item_key );
+ } else {
+ $product_quantity = woocommerce_quantity_input( array(
+ 'input_name' => "cart[{$cart_item_key}][qty]",
+ 'input_value' => $cart_item['quantity'],
+ 'max_value' => $_product->get_max_purchase_quantity(),
+ 'min_value' => '0',
+ ), $_product, false );
+ }
- echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item );
- ?>
-
+ echo apply_filters( 'woocommerce_cart_item_quantity', $product_quantity, $cart_item_key, $cart_item );
+ ?>
+
-
+
cart->get_product_subtotal( $_product, $cart_item['quantity'] ), $cart_item, $cart_item_key );
?>
@@ -128,37 +128,41 @@ do_action( 'woocommerce_before_cart' ); ?>
?>
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
- -
- - - - 0 ) : ?> +if ( wc_get_page_id( 'shop' ) > 0 ) : ?> diff --git a/woocommerce/cart/cart.php b/woocommerce/cart/cart.php index 9a33d54..9430814 100644 --- a/woocommerce/cart/cart.php +++ b/woocommerce/cart/cart.php @@ -1,7 +1,7 @@' . esc_html__( 'Available on backorder', 'understrap' ) . '
'; - } - ?> -' . esc_html__( 'Available on backorder', 'woocommerce' ) . '
'; + } + ?> + -
-
+
-
+
-
+
-
-
-
-
-
+
diff --git a/woocommerce/cart/mini-cart.php b/woocommerce/cart/mini-cart.php
index bc8bf13..18a76a8 100644
--- a/woocommerce/cart/mini-cart.php
+++ b/woocommerce/cart/mini-cart.php
@@ -15,38 +15,36 @@
* @see https://docs.woocommerce.com/document/template-structure/
* @author WooThemes
* @package WooCommerce/Templates
- * @version 2.5.0
+ * @version 3.1.0
*/
-
if ( ! defined( 'ABSPATH' ) ) {
- exit; // Exit if accessed directly
+ exit;
}
-?>
+do_action( 'woocommerce_before_mini_cart' ); ?>
-
-
--
-
- cart->is_empty() ) : ?>
+cart->is_empty() ) : ?>
+
- +
- ×', + '×', esc_url( WC()->cart->get_remove_url( $cart_item_key ) ), - __( 'Remove this item', 'understrap' ), + esc_attr__( 'Remove this item', 'woocommerce' ), esc_attr( $product_id ), esc_attr( $_product->get_sku() ) ), $cart_item_key ); @@ -65,26 +63,20 @@ if ( ! defined( 'ABSPATH' ) ) { +
-
cart->get_cart() as $cart_item_key => $cart_item ) {
$_product = apply_filters( 'woocommerce_cart_item_product', $cart_item['data'], $cart_item, $cart_item_key );
$product_id = apply_filters( 'woocommerce_cart_item_product_id', $cart_item['product_id'], $cart_item, $cart_item_key );
if ( $_product && $_product->exists() && $cart_item['quantity'] > 0 && apply_filters( 'woocommerce_widget_cart_item_visible', true, $cart_item, $cart_item_key ) ) {
- $product_name = apply_filters( 'woocommerce_cart_item_name', $_product->get_title(), $cart_item, $cart_item_key );
+ $product_name = apply_filters( 'woocommerce_cart_item_name', $_product->get_name(), $cart_item, $cart_item_key );
$thumbnail = apply_filters( 'woocommerce_cart_item_thumbnail', $_product->get_image(), $cart_item, $cart_item_key );
$product_price = apply_filters( 'woocommerce_cart_item_price', WC()->cart->get_product_price( $_product ), $cart_item, $cart_item_key );
$product_permalink = apply_filters( 'woocommerce_cart_item_permalink', $_product->is_visible() ? $_product->get_permalink( $cart_item ) : '', $cart_item, $cart_item_key );
?>
-
: cart->get_cart_subtotal(); ?>
+: cart->get_cart_subtotal(); ?>
- + + + + + diff --git a/woocommerce/cart/proceed-to-checkout-button.php b/woocommerce/cart/proceed-to-checkout-button.php index a8065b7..be155e5 100644 --- a/woocommerce/cart/proceed-to-checkout-button.php +++ b/woocommerce/cart/proceed-to-checkout-button.php @@ -15,7 +15,7 @@ * @see https://docs.woocommerce.com/document/template-structure/ * @author WooThemes * @package WooCommerce/Templates - * @version 2.4.0 + * @version 3.1.0 */ if ( ! defined( 'ABSPATH' ) ) { @@ -24,5 +24,5 @@ if ( ! defined( 'ABSPATH' ) ) { ?> - + diff --git a/woocommerce/checkout/form-checkout.php b/woocommerce/checkout/form-checkout.php index 5167ab5..56e2678 100644 --- a/woocommerce/checkout/form-checkout.php +++ b/woocommerce/checkout/form-checkout.php @@ -13,7 +13,7 @@ * @see https://docs.woocommerce.com/document/template-structure/ * @author WooThemes * @package WooCommerce/Templates - * @version 2.3.0 + * @version 3.1.0 */ if ( ! defined( 'ABSPATH' ) ) { @@ -26,7 +26,7 @@ do_action( 'woocommerce_before_checkout_form', $checkout ); // If checkout registration is disabled and not logged in, the user cannot checkout. if ( ! $checkout->enable_signup && ! $checkout->enable_guest_checkout && ! is_user_logged_in() ) { - echo apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'understrap' ) ); + echo apply_filters( 'woocommerce_checkout_must_be_logged_in_message', __( 'You must be logged in to checkout.', 'woocommerce' ) ); return; } @@ -52,7 +52,7 @@ if ( ! $checkout->enable_signup && ! $checkout->enable_guest_checkout && ! is_us - + diff --git a/woocommerce/checkout/form-coupon.php b/woocommerce/checkout/form-coupon.php index 492153a..9ca97fa 100644 --- a/woocommerce/checkout/form-coupon.php +++ b/woocommerce/checkout/form-coupon.php @@ -13,7 +13,7 @@ * @see https://docs.woocommerce.com/document/template-structure/ * @author WooThemes * @package WooCommerce/Templates - * @version 2.2 + * @version 3.1.0 */ if ( ! defined( 'ABSPATH' ) ) { @@ -25,7 +25,7 @@ if ( ! wc_coupons_enabled() ) { } if ( empty( WC()->cart->applied_coupons ) ) { - $info_message = apply_filters( 'woocommerce_checkout_coupon_message', __( 'Have a coupon?', 'understrap' ) . ' ' . __( 'Click here to enter your code', 'understrap' ) . '' ); + $info_message = apply_filters( 'woocommerce_checkout_coupon_message', __( 'Have a coupon?', 'woocommerce' ) . ' ' . __( 'Click here to enter your code', 'woocommerce' ) . '' ); wc_print_notice( $info_message, 'notice' ); } ?> @@ -33,11 +33,11 @@ if ( empty( WC()->cart->applied_coupons ) ) {