فهرست منبع

Varia: Fix shopping cart menu issue

Niels Lange 5 سال پیش
والد
کامیت
4ed003034d
1فایلهای تغییر یافته به همراه43 افزوده شده و 33 حذف شده
  1. 43 33
      varia/inc/woocommerce.php

+ 43 - 33
varia/inc/woocommerce.php

@@ -183,40 +183,50 @@ if ( defined( 'WC_VERSION' ) && version_compare( WC_VERSION, '2.3', '>=' ) ) {
  */
 function varia_add_cart_menu( $nav, $args ) {
 	if ( $args->theme_location == 'menu-1' ) {
-		return sprintf(
-			'%1$s
-			</ul></div>
-			<input type="checkbox" role="button" aria-haspopup="true" id="woocommerce-toggle" class="hide-visually">
-			<label for="woocommerce-toggle" id="toggle-cart" class="button">%2$s %3$s
-				<span class="dropdown-icon open">+</span>
-				<span class="dropdown-icon close">×</span>
-				<span class="hide-visually expanded-text">%4$s</span>
-				<span class="hide-visually collapsed-text">%5$s</span>
-			</label>
-			<div class="woocommerce-menu-container">
-			<ul id="woocommerce-menu" class="main-menu" aria-label="submenu">
-			<li class="menu-item woocommerce-menu-item %10$s" title="%6$s">
-				%8$s
-				<ul class="sub-menu">
-					<li class="woocommerce-cart-widget" title="%7$s">
-						%9$s
-					</li>
-				</ul>
-			</li>',
-			$nav,
-			varia_get_icon_svg( 'shopping_cart', 16 ),
-			esc_html__( 'Cart', 'varia' ),
-			esc_html__( 'expanded', 'varia' ),
-			esc_html__( 'collapsed', 'varia' ),
-			esc_attr__( 'View your shopping cart', 'varia' ),
-			esc_attr__( 'View your shopping list', 'varia' ),
-			varia_cart_link(),
-			varia_cart_widget(),
-			is_cart() ? 'current-menu-item' : ''
-		);
-	}
+    $has_cart_icon = get_option( 'varia_cart_icon' );
+
+    if ( empty( $nav ) || empty( $has_cart_icon ) ) {
+      $has_cart_icon = false;
+      update_option( 'varia_cart_icon', $has_cart_icon );
+    }
+    
+    if ( ! $has_cart_icon ) {
+      update_option( 'varia_cart_icon', true );
+      return sprintf(
+        '%1$s
+        </ul></div>
+        <input type="checkbox" role="button" aria-haspopup="true" id="woocommerce-toggle" class="hide-visually">
+        <label for="woocommerce-toggle" id="toggle-cart" class="button">%2$s %3$s
+          <span class="dropdown-icon open">+</span>
+          <span class="dropdown-icon close">×</span>
+          <span class="hide-visually expanded-text">%4$s</span>
+          <span class="hide-visually collapsed-text">%5$s</span>
+        </label>
+        <div class="woocommerce-menu-container">
+        <ul id="woocommerce-menu" class="main-menu" aria-label="submenu">
+        <li class="menu-item woocommerce-menu-item %10$s" title="%6$s">
+          %8$s
+          <ul class="sub-menu">
+            <li class="woocommerce-cart-widget" title="%7$s">
+              %9$s
+            </li>
+          </ul>
+        </li>',
+        $nav,
+        varia_get_icon_svg( 'shopping_cart', 16 ),
+        esc_html__( 'Cart', 'varia' ),
+        esc_html__( 'expanded', 'varia' ),
+        esc_html__( 'collapsed', 'varia' ),
+        esc_attr__( 'View your shopping cart', 'varia' ),
+        esc_attr__( 'View your shopping list', 'varia' ),
+        varia_cart_link(),
+        varia_cart_widget(),
+        is_cart() ? 'current-menu-item' : ''
+      );
+    }
+  }
 
 	// Our primary menu isn't set, return the regular nav
 	return $nav;
 }
-add_filter( 'wp_nav_menu_items', 'varia_add_cart_menu', 10, 2 );
+add_filter( 'wp_nav_menu_items', 'varia_add_cart_menu', 10, 2 );