Adding custom attribute to WooCommerce shop loop product title

橙三吉。 提交于 2019-12-04 06:39:51

问题


I am attempting to add a custom attribute to the WooCommerce loop. Currently I have the following in my functions file

function cc_template_loop_product_custom_attribute()
{
    $abv = $product->get_attribute('pa_alcohol-by-volume');
    if (!empty($abv))
    {
        echo get_attribute('pa_alcohol-by-volume');
    };
}

add_action('woocommerce_shop_loop_item_title', 'cc_template_loop_product_title', 10);

The intention is to get display the attribute 'Alcohol by volume' after the product title. However this is not working and basically causing the loop to stop rendering as soon as it reaches the function.


回答1:


Calling get_attribute() directly will throw an error like

Call to undefined function get_attribute()

So use it in this way

add_action('woocommerce_shop_loop_item_title', 'wh_insertAfterShopProductTitle', 15);

function wh_insertAfterShopProductTitle()
{
    global $product;

    $abv = $product->get_attribute('pa_alcohol-by-volume');
    if (empty($abv))
        return;
    echo __($abv, 'woocommerce');
}

Code goes in functions.php file of your active child theme (or theme). Or also in any plugin php files.
Code is tested and works.

Hope this helps!



来源:https://stackoverflow.com/questions/47588064/adding-custom-attribute-to-woocommerce-shop-loop-product-title

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!