我希望能够为每个单个产品显示特定的”添加到卡片”文本(如果已设置)。
这里有一些插件, 但是它们只是”覆盖”类别或产品类型的”添加到卡片文本”。这就是为什么我使用”自定义字段”尝试这种方式的原因。
因此, 我直接在模板文件中编写了此代码。该代码有效, 但是在正确的位置是否很好, 安全?
// file: /woocommerce-templates/single-product/add-to-cart/simple.php
<button "..." >
<?php
$text = get_post_meta($product->get_id(), 'add_to_cart_text', true);
if ($text) {
echo esc_html($text);
} else {
echo esc_html($product->single_add_to_cart_text()); // this line is default
}
?>
</button>
#1
我会改用这个:
<?php
add_filter( 'woocommerce_product_add_to_cart_text', 'custom_add_to_cart_button_text', 20, 2 );
function custom_add_to_cart_button_text( $button_text, $product ) {
$custom_button_text = get_post_meta( $product->get_id(), 'add_to_cart_text', true );
// If there is custom text set for this product, then display it instead of the default text.
if ( ! empty( $custom_button_text ) ) {
$button_text = __( $custom_button_text, 'text-domain' );
}
return $button_text;
}
将其粘贴到你的functions.php中
评论前必须登录!
注册