【发布时间】:2015-09-22 00:58:11
【问题描述】:
我正在使用 Woocommerce theme 在线商店。
我喜欢在每个缩略图顶部显示一些自定义文本。
类似于以下example。我知道我必须摆弄archive-product.phpfile。而且我也需要设置相同的样式。
谁能指出我正确的方向。也可以通过 Advance Custom Field Plugin 来完成同样的任务吗?
【问题讨论】:
标签: php css wordpress woocommerce
我正在使用 Woocommerce theme 在线商店。
我喜欢在每个缩略图顶部显示一些自定义文本。
类似于以下example。我知道我必须摆弄archive-product.phpfile。而且我也需要设置相同的样式。
谁能指出我正确的方向。也可以通过 Advance Custom Field Plugin 来完成同样的任务吗?
【问题讨论】:
标签: php css wordpress woocommerce
正如 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);
【讨论】:
您应该能够通过 ACF(高级自定义字段)来完成此操作。创建自定义字段时,您将 post_type 分配给 WooCommerce 产品。
然后在产品循环中,您只需使用 ACF 的get_field() 来获取它。也许你必须查询每个产品的 ID,然后将其插入 ACF 的函数中,如下所示:get_field('my_text', 123); (id = 123)。
【讨论】: