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

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

Woocommerce 店鋪品類形象建設

Woocommerce 店鋪品類形象建設

PHP
慕容森 2022-07-29 16:47:38
當我打開 url mydomain.com/shop 時,我可以看到活動類別的行。我想創建相同的視圖,但找不到 woocommerce 如何構建此 HTML 代碼:<img   src="https://www.example.com/wp-content/uploads/2020/01/dog-categorry-640x640.png"   alt="Dog"   width="450"   height=""   srcset="  https://www.example.com/wp-content/uploads/2020/01/dog-categorry-640x640.png 640w,   https://www.example.com/wp-content/uploads/2020/01/dog-categorry-100x100.png 100w,   https://www.example.com/wp-content/uploads/2020/01/dog-categorry-300x300.png 300w,   https://www.example.com/wp-content/uploads/2020/01/dog-categorry-150x150.png 150w,  https://www.example.com/wp-content/uploads/2020/01/dog-categorry-768x768.png 768w,   https://www.example.com/wp-content/uploads/2020/01/dog-categorry.png 1000w" sizes="(max-width: 450px) 100vw, 450px">我確實了解以上所有 HTML 代碼都從 archive-product.php 文件開始,但如果我嘗試在我的小部件上重新創建它就行不通了。誰能解釋我在哪里可以找到構造這個 img HTML 代碼的 PHP 代碼?或者至少如何獲取 srcset 中提到的所有鏈接?
查看完整描述

1 回答

?
SMILET

TA貢獻1796條經驗 獲得超4個贊

wp_get_attachment_image是構建這些img標簽的函數,它會提取資產上傳到 WordPress 時創建的所有預定義圖像。


但是,WooCommerce他們為類別縮略圖創建了一個新功能。


一個被調用的函數woocommerce_subcategory_thumbnail在wc-template-functions.php下面./wp-content/plugins/woocommerce/includes/


您正在查找的特定代碼行(在 內部archive-product)位于名為woocommerce_subcategory_thumbnail.


    function woocommerce_subcategory_thumbnail( $category ) {

        $small_thumbnail_size = apply_filters( 'subcategory_archive_thumbnail_size', 'woocommerce_thumbnail' );

        $dimensions           = wc_get_image_size( $small_thumbnail_size );

        $thumbnail_id         = get_term_meta( $category->term_id, 'thumbnail_id', true );


        if ( $thumbnail_id ) {

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

            $image        = $image[0];

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

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

        } else {

            $image        = wc_placeholder_img_src();

            $image_srcset = false;

            $image_sizes  = false;

        }


        if ( $image ) {

            // Prevent esc_url from breaking spaces in urls for image embeds.

            // Ref: https://core.trac.wordpress.org/ticket/23605.

            $image = str_replace( ' ', '%20', $image );


            // Add responsive image markup if available.

            if ( $image_srcset && $image_sizes ) {

                echo '<img src="' . esc_url( $image ) . '" alt="' . esc_attr( $category->name ) . '" width="' . esc_attr( $dimensions['width'] ) . '" height="' . esc_attr( $dimensions['height'] ) . '" srcset="' . esc_attr( $image_srcset ) . '" sizes="' . esc_attr( $image_sizes ) . '" />';

            } else {

                echo '<img src="' . esc_url( $image ) . '" alt="' . esc_attr( $category->name ) . '" width="' . esc_attr( $dimensions['width'] ) . '" height="' . esc_attr( $dimensions['height'] ) . '" />';

            }

        }

    }


查看完整回答
反對 回復 2022-07-29
  • 1 回答
  • 0 關注
  • 129 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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