【问题标题】:Display video instead of product thumbnail on WooCommerce archive pages在 WooCommerce 存档页面上显示视频而不是产品缩略图
【发布时间】:2020-09-28 08:47:25
【问题描述】:

我正在尝试使用高级自定义字段插件在商店页面上显示 WooCommerce 产品的视频。

我想创建一个条件,如果产品有视频,则显示它而不是woocommerce_template_loop_product_thumbnail

$file = get_field('archive_video'); if( $file ) { ?> 
<video width="200" muted loop autoplay src="<?php echo $file['url']; ?>"></video> <?php
} else {
  /** 
  * @hooked woocommerce_template_loop_product_thumbnail - 10;
   */
}

我选择了正确的方法吗?

它应该是这样的:

【问题讨论】:

    标签: php wordpress woocommerce advanced-custom-fields hook-woocommerce


    【解决方案1】:

    使用钩子而不是覆盖模板尝试以下方式:

    add_action( 'woocommerce_before_shop_loop_item_title', 'action_template_loop_product_thumbnail', 9 );
    function action_template_loop_product_thumbnail() {
        global $product;
    
        $file = get_field('archive_video', $product->get_id());
    
        if( isset($file['url']) && ! empty($file['url']) ) {
            remove_action( 'woocommerce_before_shop_loop_item_title', 'woocommerce_template_loop_product_thumbnail', 10 );
    
            echo '<video width="200" muted loop autoplay src="' . $file['url'] . '"></video>';
        }
    }
    

    代码在您的活动子主题(或活动主题)的functions.php 文件中。它应该可以工作。

    【讨论】:

    • @Артем 我刚刚添加了一个缺失的“;”...
    • @Артем 我刚刚在店面主题上进行了测试,它可以工作......所以问题与您的主题自定义或第三方插件有关......
    • 你能告诉我,我可以在哪里寻找问题?因为我不明白为什么它不起作用。
    • 我想知道是否有办法显示缩略图,当用户在移动设备中悬停或滑动时,它会播放视频的预览 sn-p ......就像 YouTube 一样。这可能吗?
    猜你喜欢
    • 2021-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-02-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多