在Woocommerce商店的产品图片下显示变量产品的产品属性值

时间:2019-04-04 20:52:02

标签: php wordpress woocommerce hook-woocommerce taxonomy-terms

我有一个功能和一个动作可以完成我想要做的事情:在Woocommerce商店的产品归档页面中显示可用的产品尺寸。

问题是,我的输出代码放置在以下任一位置:
a)产品图片上方,或…
b)在添加到购物篮按钮下方。
我需要将其放置在产品图片下方。

我在Woocommerce文档中找到了所有不同的钩子,并且对它们进行了篡改,但是它们都不起作用。至少不是我的单一产品。我设法使输出的大小显示在整个存档视图的下方,因此有些工作正常。

add_action( "woocommerce_after_shop_loop_item_title', 'ladiesfashion_show_product_size_loop', 10 );

function ladiesfashion_show_product_size_loop() {

    global $product;

    if ( ! empty( $sizes ) ) {   
        echo '<div style="color:black;"><b><br>Tilgængelige størrelser:</b> ' . $size = $product->get_attribute( 'pa_toej-stoerrelse' );
        echo '</div>';         
    }

}

我感觉我可能需要某种方式的“ remove_action”,但是我无法弄清楚那部分的工作原理,以及在添加自己的函数之前应该删除的内容?

解决方案

OceanWP(我的主题)对Woocommerce项目使用自定义钩子。更换挂钩解决了我的问题:

add_action( 'ocean_after_archive_product_image', 'ladiesfashion_show_product_size_loop', 10 );

    function ladiesfashion_show_product_size_loop() {

        global $product;

        $sizes = $product->get_dimensions();

        if ( ! empty( $sizes ) ) {   
            echo '<div style="color:black;"><b><br>Tilgængelige størrelser:</b> ' . $size = $product->get_attribute( 'pa_toej-stoerrelse' );
            echo '</div>';         
        }

    }

1 个答案:

答案 0 :(得分:1)

您的代码中有一些错误,您没有使用正确的钩子和优先级。尝试以下(我们在默认的Woocommerce产品图片位置下显示尺寸)

add_action( 'woocommerce_before_shop_loop_item_title', 'ladiesfashion_show_product_size_loop', 15 );
function ladiesfashion_show_product_size_loop() {
    global $product;

    if ( $product->has_dimensions() && $sizes = $product->get_attribute( 'toej-stoerrelse' ) ) {
        echo '<div style="color:black;"><strong>Tilgængelige størrelser:</strong> ' . $sizes . '</div><br>';
    }
}

代码进入您的活动子主题(或活动主题)的function.php文件中。经过测试,可以正常工作。

enter image description here