【问题标题】:How to show SKU before woocommerce product title on archive page如何在存档页面上的 woocommerce 产品标题之前显示 SKU
【发布时间】:2016-11-04 02:32:05
【问题描述】:

我正在尝试在 woocommerce 中的产品标题之前显示 SKU。这是我正在尝试的代码,下面的代码在 Woocommerce 存档页面上显示价格后的 SKU。但是在存档页面上的产品标题之前是否有任何钩子可以显示它?

我使用woocommerce_get_price_html 这个钩子在价格后显示它我也尝试the_title 但它也覆盖了菜单。

function rupom_custom_price_sku( $price ) { 
    global $woocommerce , $product;
    $sku = $product->get_sku();
    if (is_shop() || is_product_category() || is_product_tag()){
        return $price . '<br /><span class="price-sku" style="color:red">Item # ' . $sku . '</span>';
    }

    else { 
        return $price; 
    } 
}
add_filter( 'woocommerce_get_price_html', 'rupom_custom_price_sku' );

【问题讨论】:

  • global $woocommerce 已弃用,将在未来版本中删除,请使用 WC() 函数

标签: php wordpress woocommerce


【解决方案1】:

woocommerce_before_shop_loop_item_title 是你需要使用的钩子

add_action( 'woocommerce_before_shop_loop_item_title', 'custom_before_title' );
function custom_before_title() {

    global $product;

    if ( $product->get_sku() ) {
        echo $product->get_sku();
    }

}

【讨论】:

  • 它不工作:(我的 woocommerce 版本是 2.5.1 看看这里162.144.251.20/~hubcaps/product-category/custom-hubcaps
  • 你的主题可能已经移除了那个钩子。尝试切换到二十一十六主题,然后看看它是否仍然不起作用。
  • 是的,你是对的,我的主题删除了它,它适用于默认主题,例如 26 岁
  • 但是如果 Loop 没有启动,那么是否有可能获得 SKU?
  • 我已经更新了我的答案。不知道if the loop not start是什么意思,看看plugins/woocommerce/templates/content-product.php
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-01-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-08-11
相关资源
最近更新 更多