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

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

Woocommerce 在產品縮略圖上方顯示產品類別縮略圖

Woocommerce 在產品縮略圖上方顯示產品類別縮略圖

PHP
守著一只汪 2023-06-24 15:42:45
我想在商店頁面中的產品縮略圖上方顯示類別縮略圖。我嘗試使用這段代碼,但它不起作用。請幫助我,我需要完成這件事。任何幫助將不勝感激。謝謝。        /**     * Display product category thumbnail.     *     * @param mixed $product_category Category term Id, term name or term slug.     */    <?php$thumbnail_id = get_term_meta( $cat->term_id, 'thumbnail_bid', true );$image_url = wp_get_attachment_url( $thumbnail_id ); ?>
查看完整描述

1 回答

?
守著星空守著你

TA貢獻1799條經驗 獲得超8個贊

/**

 * Display product category thumbnail.

 *

 */

add_action('woocommerce_before_shop_loop_item_title', 'display_product_category_thumbnail', 20);

function display_product_category_thumbnail()

{

    global $product;


    $productFirstCategory = reset(get_the_terms($product->get_id(), 'product_cat'));


    $small_thumb_size = 'woocommerce_thumbnail';

    $dimensions = wc_get_image_size($small_thumb_size);


    if ($thumbnail_id = get_term_meta($productFirstCategory->term_id, 'thumbnail_id', true)) {

        $image = wp_get_attachment_image_src($thumbnail_id, $small_thumb_size);


        if (is_array($image)) {

            $image = reset($image);

        }


        $image_srcset = function_exists('wp_get_attachment_image_srcset') ? wp_get_attachment_image_srcset($thumbnail_id, $small_thumb_size) : false;

        $image_sizes = function_exists('wp_get_attachment_image_sizes') ? wp_get_attachment_image_sizes($thumbnail_id, $small_thumb_size) : false;

    } else {

        $image = wc_placeholder_img_src();

        $image_srcset = false;

        $image_sizes = false;

    }


    if ($image) {

        

        $src_set = '';

        if ($image_srcset && $image_sizes) {

            $src_set = '" srcset="' . esc_attr($image_srcset) . '" sizes="' . esc_attr($image_sizes);

        }


        echo '<img src="' . esc_url($image) . '" alt="' . esc_attr($productFirstCategory->name) 

            . '" width="' . esc_attr($dimensions['width']) . '" height="' 

            . esc_attr($dimensions['height']) . $src_set . '" />';

    }

}

  1. 您必須使用掛鉤woocommerce_before_shop_loop_item_title來掛鉤您的函數以在產品標題之前執行。

  2. 全局變量$product保存當前循環的產品對象。

  3. 獲取當前產品 id 并將其傳遞給 WP 函數,get_the_terms以數組形式獲取與該產品相關的所有術語,并使用 PHP 函數僅檢索第一個術語對象reset并將其分配給變量$productFirstCategory

  4. WooCommerce 函數wc_get_image_size以數組形式檢索維度詳細信息

  5. 下一個if-else block用于指定產品類別圖像或默認圖像

  6. 最終if condition用于輸出標題之前的圖像

http://img1.sycdn.imooc.com//64969e9d0001907309340730.jpg

查看完整回答
反對 回復 2023-06-24
  • 1 回答
  • 0 關注
  • 225 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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