Php 吴商铺品类形象建设
当我打开url mydomain.com/shop时,我可以看到活动类别的行。我想创建相同的视图,但找不到woocommerce如何构造此HTML代码: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
是构建这些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'])。”/>”;
}
}
}