当前位置: 首页 > 知识库问答 >
问题:

Woocommerce-在类别页面上显示不同的产品缩略图

东郭自珍
2023-03-14

我想为我的一些产品显示不同的缩略图,如果它们出现在特定类别中。

我已经从特定类别中删除了当前的缩略图,我正在使用一个自定义字段为我要替换的产品提取新的缩略图,这非常有效。然而,当我尝试调用剩余产品的正常缩略图时,它不起作用-有什么想法吗?

add_action( 'woocommerce_before_main_content', 'remove_test_category_thumbnails', 10 );

function remove_test_category_thumbnails() {
    if (is_product_category('test-category')) {
        remove_action('woocommerce_before_shop_loop_item_title' , 'woocommerce_template_loop_product_thumbnail' , 10);
    }
}

add_action( 'woocommerce_before_shop_loop_item_title', 'add_test_category_thumbnails', 10 );

function add_test_category_thumbnails() {
    global $post;
    $testCatThumb = get_post_meta( $post->ID, 'step_dad_mug', true);
    if (is_product_category('test-category') && (isset($testCatThumb)) ) {
        echo wp_get_attachment_image( $testCatThumb );
    }
    else 
        echo woocommerce_get_product_thumbnail();
    }
}

共有2个答案

景元忠
2023-03-14

下面的函数需要一个post id,这就是您要传递的吗?

wp_get_attachment_image();

作为if条件的一部分,您可以检查值是否为正确的值类型:

is_numeric($testCatThumb);

我倾向于创建可读的变量,而不是每次阅读时都要用大脑解析的可怕条件:

function add_test_category_thumbnails() {
    global $post;

    $testCatThumb        = get_post_meta( $post->ID, 'step_dad_mug', true);
    $isPostId            = !empty($testCatThumb) && is_numeric($testCatThumb);
    $isValidAttachmentId = is_product_category('test-category') && $isPostId;
    $image               = $isValidAttachmentId ? wp_get_attachment_image($testCatThumb) : '';

    // display custom image, or fallback to woocommerce thumbnail
    echo !empty($image) ? $image : woocommerce_get_product_thumbnail();
}
臧烨烁
2023-03-14

你需要thewoocommerce_get_product_thumbnail.

add_action( 'woocommerce_before_main_content', 'remove_test_category_thumbnails', 10 );
function remove_test_category_thumbnails() {
    if (is_product_category('test-category')) {
        remove_action('woocommerce_before_shop_loop_item_title' , 'woocommerce_template_loop_product_thumbnail' , 10);
    }
}

add_action( 'woocommerce_before_shop_loop_item_title', 'add_test_category_thumbnails', 10 );
function add_test_category_thumbnails() {
    global $post;
    $testCatThumb = get_post_meta( $post->ID, 'step_dad_mug', true); 
    if( is_product_category( 'test-category' ) && ( isset( $testCatThumb ) ) ) {
        echo wp_get_attachment_image( $testCatThumb );
    }else{
        echo woocommerce_get_product_thumbnail();
    } 
}
 类似资料:
  • 我对Woocomece的3.3.5版本有一个问题,特别是在product-thumbnais.php页面。 场景:我们在产品图库中有一个特色产品图像和另外5-6个图像,它们明显地显示为主图像下的产品缩略图。 现在缩略图只是堆叠在一起,似乎没有办法让这些缩略图显示在单行旋转木马中,导航箭头滚动旋转木马。 假设我想在任何给定的时间显示4个缩略图,然后单击导航箭头滚动缩略图,就像本页上的flexnav演

  • 我似乎在为木业的某些东西而苦苦挣扎。 我已经创建了一个单一的产品页面模板,当前显示产品的特色图像在页面顶部的横幅。 但我想我得先找到分类?我不确定从这里到哪里去。 如果有任何帮助,我们将不胜感激。

  • 我正在尝试在一个自定义主题中实现wooCommerce,我正在基于bootstrap框架构建该主题(因为我对事物的外观很挑剔),所以我正在尝试重新定位wooCommerce产品缩略图库图像。我知道wooCommerce中提供的各种函数和钩子,如wc-template-hooks.php中列出的函数和钩子,它们工作得非常好,但在我的特殊情况下除外。我使用和钩子将产品信息包装在我的引导框架中,就像这样

  • 我的吴宇森商店有一个奇怪的问题。最新更新后,产品商店缩略图开始以不同寻常的方式显示。有些图像显示良好,但其中的一些,显示在全尺寸。我想让它所有的图像显示这样: 显示问题的图像 “良好”产品的尺寸为:251px 304px。这也是我的Woocommerce缩略图配置: woo配置 我尝试将其设置为CSS: 任何帮助,如何显示所有图像的罚款?这是链接表单商店。

  • 我正在尝试创建一个页面与木商产品类别在标签。 我的选项卡菜单正在工作,但我需要在每个选项卡内容区域中运行一个查询到相应的类别。 但当我单击每个选项卡时,选项卡内容显示了类别中不属于当前选项卡的所有帖子。我没有得到正在出现的问题,请帮助我解决问题 下面是我的代码: 问题是它显示每个类别的所有post。我粘在上面了..请帮帮我

  • 我有一个问题与WooCommerce/WordPress模板。我以前什么都有。 我的文件中有以下代码: 这段代码为产品类别选择了我的自定义归档模板,并在主页上购物。突然,它不再起作用了。似乎WordPress不能使用自定义文件从了。单个产品页面和产品类别出于某种原因使用。我通过在我的主题文件夹上创建文件single-product.php来修复单个产品页面的问题。这个工作正常,但是我不能对WooC