在 WooCommerce 中显示不同类别的不同自定义字段
Display different custom fields for different categories in WooCommerce
我正在尝试在 WooCommerce 中为不同的类别显示不同的自定义字段。
我在 content-single-product.php 模板文件中使用了以下条件语句:
if(is_product_category('categoryname'))
{
// display my customized field
}
else
{
do_action( 'woocommerce_after_single_product_summary' );
}
但这对我不起作用。
有没有更好的方法来解决这个问题?
谢谢。
条件 is_product_category() 在单个产品模板中对您不起作用。在这种情况下,正确的条件是两个的组合:
if ( is_product() && has_term( 'categoryname', 'product_cat' ) ) {
// display my customized field
}
....
您似乎在尝试覆盖 content-single-product.php
模板。
在你的 ELSE 语句中移动 woocommerce_single_product_summary
钩子不是一个好主意,除非你不想显示 'categoryname'
product 那3个钩子函数:
* @hooked woocommerce_output_product_data_tabs - 10
* @hooked woocommerce_upsell_display - 15
* @hooked woocommerce_output_related_products - 20
您可以将代码 (在您的活动子主题或主题的 function.php 文件中) 嵌入代码 而不是(在这里覆盖模板) 使用 more这 2 个钩子的方便之处:
//In hook 'woocommerce_single_product_summary' with priority up to 50.
add_action( 'woocommerce_single_product_summary', 'displaying_my_customized_field', 100);
function displaying_my_customized_field( $woocommerce_template_single_title, $int ) {
if ( is_product() && has_term( 'categoryname', 'product_cat' ) ) {
// echoing my customized field
}
};
或
// In hook 'woocommerce_after_single_product_summary' with priority less than 10
add_action( 'woocommerce_after_single_product_summary', 'displaying_my_customized_field', 5);
function displaying_my_customized_field( $woocommerce_template_single_title, $int ) {
if ( is_product() && has_term( 'categoryname', 'product_cat' ) ) {
// echoing my customized field
}
};
我正在尝试在 WooCommerce 中为不同的类别显示不同的自定义字段。
我在 content-single-product.php 模板文件中使用了以下条件语句:
if(is_product_category('categoryname'))
{
// display my customized field
}
else
{
do_action( 'woocommerce_after_single_product_summary' );
}
但这对我不起作用。
有没有更好的方法来解决这个问题?
谢谢。
条件 is_product_category() 在单个产品模板中对您不起作用。在这种情况下,正确的条件是两个的组合:
if ( is_product() && has_term( 'categoryname', 'product_cat' ) ) {
// display my customized field
}
....
您似乎在尝试覆盖 content-single-product.php
模板。
在你的 ELSE 语句中移动 woocommerce_single_product_summary
钩子不是一个好主意,除非你不想显示 'categoryname'
product 那3个钩子函数:
* @hooked woocommerce_output_product_data_tabs - 10
* @hooked woocommerce_upsell_display - 15
* @hooked woocommerce_output_related_products - 20
您可以将代码 (在您的活动子主题或主题的 function.php 文件中) 嵌入代码 而不是(在这里覆盖模板) 使用 more这 2 个钩子的方便之处:
//In hook 'woocommerce_single_product_summary' with priority up to 50.
add_action( 'woocommerce_single_product_summary', 'displaying_my_customized_field', 100);
function displaying_my_customized_field( $woocommerce_template_single_title, $int ) {
if ( is_product() && has_term( 'categoryname', 'product_cat' ) ) {
// echoing my customized field
}
};
或
// In hook 'woocommerce_after_single_product_summary' with priority less than 10
add_action( 'woocommerce_after_single_product_summary', 'displaying_my_customized_field', 5);
function displaying_my_customized_field( $woocommerce_template_single_title, $int ) {
if ( is_product() && has_term( 'categoryname', 'product_cat' ) ) {
// echoing my customized field
}
};