WooCommerce-如何在产品上方显示产品类别?

时间:2013-03-07 作者:user28546

我是修改wooCommerce的新手。我希望有人能帮助我解决我遇到的问题,同时尝试对插件进行一些小的更改,以适应我客户的请求。

我正在尝试修改WooCommerce以显示每个产品的类别名称。I want the category name to be shown above the product image on the main shop page. (一次在屏幕上显示多个产品的视图)

我到处搜索,似乎找不到如何调用产品->类别来获取显示的每个产品的类别名称。

在wooCommerce文件中,我找到了内容产品。php(在templates/content-product.php中)

我想通过添加到此操作为每个产品添加类别:do_action( \'woocommerce_before_shop_loop_item_title\' );

我知道我可以在我的主题函数中添加一个函数。php将向“woocommerce\\u before\\u shop\\u loop\\u item\\u title”中注入一些新代码

但我不知道如何获得每个产品的类别。

有人能帮忙吗?或者告诉我在哪里可以找到答案?

任何帮助都将不胜感激,谢谢!

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

产品名称将添加到woocommerce_single_product_summary 钩子的优先级为5,因此您希望以较低(较早)的优先级添加到同一钩子。您可以将其添加到主题的函数中。php文件。我想当你说“category”时,你指的是WooCommerce产品类别,因此这应该返回第一个类别,并将其打印在产品标题之前:

function wpa89819_wc_single_product(){

    $product_cats = wp_get_post_terms( get_the_ID(), \'product_cat\' );

    if ( $product_cats && ! is_wp_error ( $product_cats ) ){

        $single_cat = array_shift( $product_cats ); ?>

        <h2 itemprop="name" class="product_category_title"><span><?php echo $single_cat->name; ?></span></h2>

<?php }
}
add_action( \'woocommerce_single_product_summary\', \'wpa89819_wc_single_product\', 2 );

SO网友:Ewout

您需要get\\u categories函数,该函数接受以下参数:

get_categories( $separator, $before, $after )

因此,在它的简单形式中(假设每个产品只有一个类别),只需添加<?php echo $product->get_categories(); ?> 到您的内容产品。php(第53行)。如果您有更多类别,您可以在单个产品页面上这样做:

<?php echo $product->get_categories( \', \', \'<span class="posted_in">\' . _n( \'Category:\', \'Categories:\', sizeof( get_the_terms( $post->ID, \'product_cat\' ) ), \'woocommerce\' ) . \' \', \'.</span>\' ); ?>

结束

相关推荐

多个单个站点,一个插件目录-调整plugins_url()

[这不是一个多站点问题]更新:这个问题在逻辑上是不可能的,或者是思维循环,如果你愿意的话,请检查下面的更新。技术是laid out here in WPEngineer.它允许有一个插件文件夹来为运行在同一服务器上的多个WordPress站点提供服务。所以,我所有的开发站点都在wp配置中有这个。phpdefine( \'WP_PLUGIN_DIR\', \'/www_dev/base-site/wp-content/plugins\' ); define( \'WP_PLUGIN_URL\', \