Php 吴商铺品类形象建设

Php 吴商铺品类形象建设,php,html,wordpress,image,woocommerce,Php,Html,Wordpress,Image,Woocommerce,当我打开url mydomain.com/shop时,我可以看到活动类别的行。我想创建相同的视图,但找不到woocommerce如何构造此HTML代码: 是构建这些img标签的功能,它提取资产上传到WordPress时创建的所有预定义图像 但是,在WooCommerce中,他们为类别缩略图创建了一个新功能 一个名为woocommerce\u subcategory\u缩略图的函数,位于/wp content/plugins/woocommerce/includes/下的wc template

当我打开url mydomain.com/shop时,我可以看到活动类别的行。我想创建相同的视图,但找不到woocommerce如何构造此HTML代码:

是构建这些
img
标签的功能,它提取资产上传到WordPress时创建的所有预定义图像

但是,在
WooCommerce
中,他们为类别缩略图创建了一个新功能

一个名为
woocommerce\u subcategory\u缩略图
的函数,位于
/wp content/plugins/woocommerce/includes/
下的
wc template functions.php

您要查找的特定代码行(在
存档产品中)位于名为
woocommerce\u subcategory\u 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'] ) . '" />';
            }
        }
    }

function\u子类别\u缩略图($category){
$small_thumboil_size=应用过滤器('subcategory_archive_thumboil_size'、'woocommerce_thumboil');
$dimensions=wc_get_image_size($small_缩略图_size);
$thumbnail\u id=get\u term\u meta($category->term\u id,'thumbnail\u id',true);
如果($u\u id){
$image=wp\u get\u attachment\u image\u src($thumbnail\u id,$small\u thumbnail\u size);
$image=$image[0];
$image\u srcset=函数存在('wp\u get\u attachment\u image\u srcset')?wp\u get\u attachment\u image\u srcset($thumbnail\u id,$small\u thumbnail\u size):false;
$image\u size=函数存在('wp\u get\u attachment\u image\u size')?wp\u get\u attachment\u image\u size($thumbnail\u id,$small\u thumbnail\u size):false;
}否则{
$image=wc_占位符_img_src();
$image\u srcset=false;
$image\u size=false;
}
如果($image){
//防止esc_url中断url中用于图像嵌入的空格。
//参考:https://core.trac.wordpress.org/ticket/23605.
$image=str_replace(“”、%20’,$image);
//添加响应图像标记(如果可用)。
如果($image\u srcset&&$image\u size){
echo“name”。“width=“”.esc_attr($dimensions['width'])。“height=“”.esc_attr($dimensions['height'])。“srcset=“”.esc_attr($image_srcset)。“size=“”.esc_attr($image_size)。“/>;
}否则{
echo“name”。““width=“”.esc_attr($dimensions['width'])。“height=“”.esc_attr($dimensions['height'])。”/>”;
}
}
}
是构建这些
img
标签的功能,它提取资产上传到WordPress时创建的所有预定义图像

但是,在
WooCommerce
中,他们为类别缩略图创建了一个新功能

一个名为
woocommerce\u subcategory\u缩略图
的函数,位于
/wp content/plugins/woocommerce/includes/
下的
wc template functions.php

您要查找的特定代码行(在
存档产品中)位于名为
woocommerce\u subcategory\u 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'] ) . '" />';
            }
        }
    }

function\u子类别\u缩略图($category){
$small_thumboil_size=应用过滤器('subcategory_archive_thumboil_size'、'woocommerce_thumboil');
$dimensions=wc_get_image_size($small_缩略图_size);
$thumbnail\u id=get\u term\u meta($category->term\u id,'thumbnail\u id',true);
如果($u\u id){
$image=wp\u get\u attachment\u image\u src($thumbnail\u id,$small\u thumbnail\u size);
$image=$image[0];
$image\u srcset=函数存在('wp\u get\u attachment\u image\u srcset')?wp\u get\u attachment\u image\u srcset($thumbnail\u id,$small\u thumbnail\u size):false;
$image\u size=函数存在('wp\u get\u attachment\u image\u size')?wp\u get\u attachment\u image\u size($thumbnail\u id,$small\u thumbnail\u size):false;
}否则{
$image=wc_占位符_img_src();
$image\u srcset=false;
$image\u size=false;
}
如果($image){
//防止esc_url中断url中用于图像嵌入的空格。
//参考:https://core.trac.wordpress.org/ticket/23605.
$image=str_replace(“”、%20’,$image);
//添加响应图像标记(如果可用)。
如果($image\u srcset&&$image\u size){
echo“name”。“width=“”.esc_attr($dimensions['width'])。“height=“”.esc_attr($dimensions['height'])。“srcset=“”.esc_attr($image_srcset)。“size=“”.esc_attr($image_size)。“/>;
}否则{
echo“name”。““width=“”.esc_attr($dimensions['width'])。“height=“”.esc_attr($dimensions['height'])。”/>”;
}
}
}