亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

在 WooCommerce 存檔頁面上懸停時切換產品圖片

在 WooCommerce 存檔頁面上懸停時切換產品圖片

PHP
梵蒂岡之花 2023-04-23 17:57:06
有沒有辦法(可能通過 functions.php)在懸停時更改 woocommerce 商店(存檔頁面)中的產品圖像與產品的第一個附加畫廊圖像?我找不到如何同時針對兩者。我想它一定是這樣的:add_action( 'woocommerce_shop_loop_item', 'change_image_on_hover', 10 );function change_image_on_hover() {     $product->get_gallery_image_ids();     print 'woocommerce_gallery_image';}https://i.stack.imgur.com/zqrYW.gif
查看完整描述

5 回答

?
智慧大石

TA貢獻1946條經驗 獲得超3個贊

假設您的安裝是某種標準的 WooC 安裝,我想您要做的是利用循環項目操作掛鉤來添加所需的懸停圖像。


add_action( 'woocommerce_before_shop_loop_item_title', 'add_on_hover_shop_loop_image' ) ; 


function add_on_hover_shop_loop_image() {


    $image_id = wc_get_product()->get_gallery_image_ids()[1] ; 


    if ( $image_id ) {


        echo wp_get_attachment_image( $image_id ) ;


    } else {  //assuming not all products have galleries set


        echo wp_get_attachment_image( wc_get_product()->get_image_id() ) ; 


    }


}

初步的 CSS:


/* CUSTOM ON-HOVER IMAGE */

.woocommerce ul.products li.product a img { 

    /* FORMAT ALL IMAGES TO FILL EQUIVALENT SPACE,

    to remove jitter on replacement */

    height: 150px;

    width: 150px;

    object-fit: cover;

    padding: 0;

    margin: 0 auto;

}

.woocommerce ul.products li.product a img:nth-of-type(2) {

    display: none;

}

.woocommerce ul.products li.product a:hover img:nth-of-type(2) {

    display: block

}

.woocommerce ul.products li.product a:hover img:nth-of-type(1) {

    display: none;

}

以上將獲得您想要的一種商店檔案顯示,以實現簡單的替換,但是您可能需要或想要為您的站點自定義許多細節。例如,150x150 像素可能不適合您的主題?;蛘吣憧赡軟Q定你需要用不同的集合完全替換默認圖像,并且為了獲得特定的過渡效果,或者為了與你網站上使用的其他效果保持一致,你需要一種不同的 CSS 方法,并且可能到javascript。


查看完整回答
反對 回復 2023-04-23
?
Qyouu

TA貢獻1786條經驗 獲得超11個贊

如果您沒有刪除 WooCommerce 的默認操作和過濾器,您可以使用該插件。


查看完整回答
反對 回復 2023-04-23
?
慕神8447489

TA貢獻1780條經驗 獲得超1個贊

使用此您將獲得產品的全尺寸圖像


add_action( 'woocommerce_before_shop_loop_item_title', 'add_on_hover_shop_loop_image' ) ; 


function add_on_hover_shop_loop_image() {


$image_id = wc_get_product()->get_gallery_image_ids()[1] ; 

$img_size = wc_get_image_size( $image_id, 'full' );


if ( $image_id ) {


    echo wp_get_attachment_image( $image_id, 'full' ) ;


} else {  //assuming not all products have galleries set


    echo wp_get_attachment_image( wc_get_product()->get_image_id() ) ; 


}


}


查看完整回答
反對 回復 2023-04-23
?
jeck貓

TA貢獻1909條經驗 獲得超7個贊

使用此代碼工作完美| Woocomerce 最新版本 在 WooCommerce 存檔頁面上懸停時切換產品圖片


add_action( 'woocommerce_before_shop_loop_item_title', 'add_on_hover_shop_loop_image' ) ; 


function add_on_hover_shop_loop_image() {


    $image_id = wc_get_product()->get_gallery_image_ids()[0] ; 


    if ( $image_id ) {


        echo wp_get_attachment_image( $image_id ) ;


    } else {  //assuming not all products have galleries set


        echo wp_get_attachment_image( wc_get_product()->get_image_id() ) ; 


    }


}


查看完整回答
反對 回復 2023-04-23
?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

如果你想在product-content.php使用全局product而不是 wc_get_product


global $product;

$attachment_ids = $product->get_gallery_image_ids();

然后:


foreach( $attachment_ids as $attachment_id ) {

     wp_get_attachment_image( $attachment_id )

}


查看完整回答
反對 回復 2023-04-23
  • 5 回答
  • 0 關注
  • 330 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號