在标题后的商店页面上显示属性

时间:2019-01-28 作者:TheEvilGuardian

我使用以下代码在Woocommerce商店页面上显示自定义属性。但由于某种原因,年份显示在产品图像上方,而不是产品标题之后(介于产品标题和价格之间)。

add_action(\'woocommerce_after_shop_loop_item_title\', \'YearOfMake\', 10);

function YearOfMake()
{
    global $product;

    $abv = $product->get_attribute(\'year-made\');
    if (empty($abv))
        return;
    echo __($abv, \'woocommerce\');
}
链接:https://groovygarbs.com/cars/

2 个回复
SO网友:Zeshan
add_filter( \'the_title\', \'YearOfMake\', 10, 2 );
function YearOfMake( $title, $post_id ) 
{

    if ( get_post_type( $post_id ) != \'product\' && ! is_archive() )
        return $title;

    if ( ! ( is_shop() || is_product_category() || is_product_tag() ) )
        return $title;
    /*
        global $product;
        $attribute  = \'year-made\';
        $abv        = $product->get_attribute($attribute);
        if(!empty($abv))
        {
            $title .= \'<br /><p>\' . $abv . \'</p>\';
        }
    */
    $terms  = wp_get_post_terms( $post_id, \'product_tag\' );
    $term   = reset( $terms );
    if ( !empty( $term->name ))
    {
        $title .= \'<br /><p>\' . strtoupper( $term->name ) . \'</p>\';
    }
    return $title;
}
SO网友:Zeshan
add_action(\'woocommerce_after_shop_loop_item_title\', \'YearOfMake\', 15);
function YearOfMake()
{
    global $product;
    $attribute  = \'year-made\';
    $abv        = $product->get_attribute($attribute);
    if(!empty($abv))
    {
        echo \'<p>\' . $abv . \'</p>\';
    }
}