2016-08-10 15 views
1

screenshotカスタマイズWooCommerceミニカート-ajax.phpテンプレート

私のPHPコードは次のとおりです。

<ul class="minicart-content"> 
<?php foreach($woocommerce->cart->cart_contents as $cart_item_key => $cart_item): ?> 
    <li> 
     <a href="<?php echo get_permalink($cart_item['product_id']); ?>" class="product-image"> 
      <?php $thumbnail_id = ($cart_item['variation_id']) ? $cart_item['variation_id'] : $cart_item['product_id']; ?> 
      <?php echo get_the_post_thumbnail($thumbnail_id, 'shop_thumbnail'); ?> 
     </a> 

     <div class="detail-item"> 
      <div class="product-details"> 
      <?php echo apply_filters('woocommerce_cart_item_remove_link', sprintf('<a href="%s" class="btn-remove" title="%s"><span></span></a>', esc_url($woocommerce->cart->get_remove_url($cart_item_key)), __('Remove this item', 'shoppystore')), $cart_item_key); ?>   
       <a class="btn-edit" href="<?php echo $woocommerce->cart->get_cart_url(); ?>" title="<?php esc_attr_e('View your shopping cart', 'shoppystore'); ?>"><span></span></a>  
       <p class="product-name"> 
        <a href="<?php echo get_permalink($cart_item['product_id']); ?>"><?php echo esc_html($cart_item['data']->post->post_title); ?></a> 
       </p> 
       <div class="qty-number"><span><?php esc_html_e('Quantity: ', 'shoppystore'); ?> </span><?php echo esc_html($cart_item['quantity']); ?></div> 

      </div> 

      <div class="product-details-bottom"> 
       <span class="price"><?php echo $woocommerce->cart->get_product_subtotal($cart_item['data'], 1); ?></span> 
      </div> 
     </div> 
    </li> 

<?php endforeach; ?> 

</ul> 

私はそのコードでIMGを取得しています:

私もハードコードにしてみてくださいテストのためのimg

<img height="50px" width="50px" src="http://www.toys4all.pk/wp-content/uploads/2016/07/ttoys498_01_1600x1200QecQ.jpg" alt="message"> 

しかし、imgやalt文字列は表示されません。

答えて

1

これを試すことができます。私は(詳細は下記を参照してください)少しあなたのコードを変更しました:

<ul class="minicart-content"> 
<?php 
    foreach(WC()->cart->cart_contents as $cart_item_key => $cart_item): 
     $item = $cart_item['data']; 
     $item_id = $item->id; 
     $qty = $cart_item['quantity']; 

     /* // Optional (uncomment if needed, see below) 
     if(!empty($item)){ 
      $product = new WC_product($item->id); 
     } */ 
?> 
    <li> 
     <div class="detail-item"> 
      <div class="product-details"> 
      <?php echo apply_filters('woocommerce_cart_item_remove_link', sprintf('<a href="%s" class="btn-remove" title="%s"><span></span></a>', esc_url(WC()->cart->get_remove_url($cart_item_key)), __('Remove this item', 'shoppystore')), $cart_item_key); ?>   
       <a class="btn-edit" href="<?php echo WC()->cart->get_cart_url(); ?>" title="<?php esc_attr_e('View your shopping cart', 'shoppystore'); ?>"><span></span></a>  
       <p class="product-name"> 

        <a href="<?php echo get_permalink($item_id); ?>"> 
         <span class="product-image"> 
         <?php 
         if (has_post_thumbnail($item_id)) { 
          echo get_the_post_thumbnail($item_id, 'shop_thumbnail'); 

          // OR you could try optionally (uncommenting here and above) 
          // echo $product->get_image(); 
         } else { 

          // set correct dimensions for placeholder 
          echo '<img src="' . woocommerce_placeholder_img_src() . '" alt="Placeholder" width="25px" height="25px" />'; 
         } 
         ?> 
         </span> 
         <span class="product-title"><?php echo esc_html($item->post->post_title); ?></span> 
        </a> 
       </p> 
       <div class="qty-number"><span><?php esc_html_e('Quantity: ', 'shoppystore'); ?> </span><?php echo esc_html($qty); ?></div> 

      </div> 

      <div class="product-details-bottom"> 
       <span class="price"><?php echo WC()->cart->get_product_subtotal($item, 1); ?></span> 
      </div> 
     </div> 
    </li> 

<?php endforeach; ?> 

</ul> 

重要:私はタイトル製品のサムネイルだけ移動してい
ます。私は、製品のサムネイルと埋め込みき
:私はプロダクトIDに固有の<a>タグ内<span>タグ内の製品のタイトルを

埋め込ま製品のサムネイル&を取得$item = $cart_item['data']; $item_id = $item->id;を使用することを好む
スタイリングの目的のために、各に異なるクラス、と<span>タグにおける製品のタイトル。

サムネイルタイトルの後に:
また<p class="product-name"><a>タグ内に、ちょうどタイトルの後のサムネイルブロックを移動することができます。

私は(これはオプションです)の代わりに$woocommerce->cartWC()->cart構文を使用して好みます。

私はまた、最初に変数でいくつかの繰り返し引数を短縮しました(これはオプションです)


オルタナティブ:あなたは(念のため)を持っは、このコードのコメントを外す代替です:

if(!empty($item)){ 
     $product = new WC_product($item->id); 
    } 

そして、代わりにget_image() function$productを使用して:

echo $product->get_image(); 

参考文献:

+0

私はこのコードを試してみたが – Zubair

+0

から動作しない私はjQueryのを更新し、それが働きました – Zubair

関連する問題