Woocommerce商店缩略图图像上的自定义文本标签

时间:2015-07-04 10:13:46

标签: php css wordpress wordpress-plugin woocommerce

使用了 Woocommerce theme在线商店。

我想在每个缩略图的顶部显示一些自定义文字。 类似于以下example。我知道我必须摆弄archive-product.php文件。而且我也需要相同的风格。

有人能指出我正确的方向吗?也可以通过Advance Custom Field Plugin完成相同的工作吗?

2 个答案:

答案 0 :(得分:1)

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

然后在产品循环中,您只需使用ACF的$json = file_get_contents('php://input'); $array = json_decode($json, true); 来获取它。也许您必须查询每个产品的ID,然后将其插入ACF的函数中,如下所示:post_type(id = 123)。

答案 1 :(得分:1)

正如古斯塔夫所说,你可以使用ACF(高级自定义字段)来轻松实现这一目标。

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

选择一个复选框选项并调用它"徽章"。然后创建一些选项供选择。例如" new"

然后,您需要将这段代码添加到子主题中的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(&#39; woocommerce_before_single_product_summary&#39;,&#39; custom_badges&#39;,5);