如果产品属于特定类别,则在简短描述后添加WooCommerce HTML

时间:2018-08-02 作者:Kevinn02

我想在产品页面上的简短描述后显示HTML文本,但仅在特定类别(categories)中的特定产品上显示。

我想我必须使用in\\u类别,但我不知道如何在简短描述之后显示文本。

我的首选是使用函数/过滤器/操作。

此代码适用于:

function filter_woocommerce_short_description( $post_excerpt )   {
$your_msg=\'Test\';
return $post_excerpt.\'<br>\'.$your_msg; 
};
add_filter( \'woocommerce_short_description\',\'filter_woocommerce_short_description\',10, 1 ); 
但这一条适用于所有产品页面。。

2 个回复
最合适的回答,由SO网友:Peter HvD 整理而成

Woocommerce的产品类别是自定义分类术语,因此您需要使用分类功能(例如,has_term()) 而不是WordPress的类别。

function filter_woocommerce_short_description( $post_excerpt ) {
    global $post;
    if ( has_term( "term-name", "product_cat", $post->ID ) ) {
        $post_excerpt .= "<br/>" . "Test";
    }
    return $post_excerpt; 
};
add_filter( \'woocommerce_short_description\',\'filter_woocommerce_short_description\',10, 1 ); 

SO网友:Kevinn02
function filter_woocommerce_short_description( $post_excerpt ) {
global $post;
if ( has_term( "axtschlag", "product_cat", $post->ID ) || has_term( "grate-goods", "product_cat", $post->ID ) ) {
    $post_excerpt .= "<br/>" . "<strong>Pick \'n Mix actie!</strong><br> Kies & mix de merken <a href="/axtschlag">Axtschlag</a> en Grate Goods en ontvang korting! Kies je 3 tot 5 producten dan ontvang je 5% korting, kies je 6 tot 10 producten dan ontvang je maar liefst 10% korting direct in je winkelwagen. Geldt ook i.c.m. met lopende acties.";
}
return $post_excerpt; 
};
add_filter( \'woocommerce_short_description\',\'filter_woocommerce_short_description\',10, 1 );
结束

相关推荐