【问题标题】:Custom text label on Woocommerce shop thumbnail imagesWoocommerce 商店缩略图图像上的自定义文本标签
【发布时间】:2015-09-22 00:58:11
【问题描述】:

我正在使用 Woocommerce theme 在线商店。

我喜欢在每个缩略图顶部显示一些自定义文本。 类似于以下example。我知道我必须摆弄archive-product.phpfile。而且我也需要设置相同的样式。

谁能指出我正确的方向。也可以通过 Advance Custom Field Plugin 来完成同样的任务吗?

【问题讨论】:

    标签: php css wordpress woocommerce


    【解决方案1】:

    正如 Gustaf 所说,您可以使用 ACF(高级自定义字段)非常轻松地做到这一点。

    您需要创建一个新的自定义字段,该字段仅在 Woocommerce 产品上显示。

    选择一个复选框选项并将其命名为“徽章”。然后创建一些可供选择的选项。例如“新”

    然后您需要将这段代码添加到您的子主题中的functions.php 文件中。您实际上需要在 woocommerce 中定位 content-product.php 文件,该文件是 archive-product.php 循环的一部分

    function custom_badges() {
    
        // vars 
        $badges = get_field('badges');
    
        // check
        if( $badges && in_array('new', $badges) ):
        ?> <span class="new">New!</span> <?php
        endif;
    
        }
    add_action( 'woocommerce_before_shop_loop_item_title', 'custom_badges', 5 );
    

    然后,如果您检查产品中的新选项,它将显示在 woocommerce 商店功能中每个缩略图的顶部。

    要将此文本也添加到单一产品页面 (single-product.php) 页面,然后也添加此行。

    add_action('woocommerce_before_single_product_summary', 'custom_badges', 5);

    【讨论】:

    • 当然是阿罗甘兹。希望你觉得它有用。这对我帮助很大。
    【解决方案2】:

    您应该能够通过 ACF(高级自定义字段)来完成此操作。创建自定义字段时,您将 post_type 分配给 WooCommerce 产品。

    然后在产品循环中,您只需使用 ACF 的get_field() 来获取它。也许你必须查询每个产品的 ID,然后将其插入 ACF 的函数中,如下所示:get_field('my_text', 123); (id = 123)。

    【讨论】:

    • 工作就像一个魅力。非常感谢@gustaf
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-05-05
    • 1970-01-01
    • 1970-01-01
    • 2011-05-19
    • 2016-11-14
    • 1970-01-01
    相关资源
    最近更新 更多