Wordpress / Woocommerce将本地存储数据存储为元数据

时间:2018-09-20 08:52:15

标签: php wordpress woocommerce

是否可以将localstorage数据存储为meta-data中的cart-iem-data甚至woocommerce?如果可以,我该如何实现?

这是我的localStorage代码(放置在functions.php中)

add_action( 'wp_footer', 'session_products' );
function session_products() {

  if ( is_shop() ) {?>
   <script>
     document.body.addEventListener('click', add_to_cart);
     function add_to_cart(e) {
       if (e.target.classList.contains('add_to_cart_button')) {
          let val = e.target.getAttribute('data-chosen-date');
          let product_id = e.target.getAttribute('data-product_id');
          localStorage.setItem(product_id, val);
       }
     }
  </script>
  <?php

   }
  if ( is_cart() ) {
    ?>
  <script>
     let items = document.querySelectorAll(".item div");

     items.forEach(function (item, index) {
        if (item.classList.contains('cart-content__product-remove')) {
        let id = item.childNodes[1].getAttribute('data-product_id');
        if (localStorage.getItem(id)) {
            let textnode = document.createElement('span');
            textnode.innerHTML = localStorage.getItem(id);
            item.nextElementSibling.appendChild(textnode);
            item.nextElementSibling.querySelector('.order-date').appendChild(textnode);
        }
        window.onbeforeunload = function() {
            localStorage.setItem(id);
        }

        window.onload = function() {
            localStorage.getItem(id)
        }                       
    }

  }); 

 </script>
 <?php
 }

}

我应该使用像woocommerce_add_order_item_metawoocommerce_add_cart_item_data这样的钩子吗?如果是,怎么办?

0 个答案:

没有答案