首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >边栏中具有多个类别、活动类别的woocommerce产品

边栏中具有多个类别、活动类别的woocommerce产品
EN

Stack Overflow用户
提问于 2013-07-05 14:12:20
回答 1查看 5.1K关注 0票数 3

我需要一些食物来思考这个问题,因为我在这里很难找到一个像样的解决方案。

有一个woocommerce商店,类别在左侧(侧边栏)和右侧产品。一个产品可以有多个类别;例如,产品“汉堡包”属于“食品”和“快餐”两类。

在左边,我们有“食物”和“快餐”两类,其中都有“汉堡包”。我进入“食物”类别。在侧边栏的左边,我突出显示了食物类别:

代码语言:javascript
复制
(start loop going through categories)

 if(get_query_var('product_cat') == $cat->slug) - echo <li class="active">
 else - echo <li class="active">

(end loop)

因此,“食物”这一类别就突出了出来。然后我选择产品“汉堡包”。现在,由于产品“汉堡包”也属于“快餐”类别,“快餐”类别显示为“活动”。

活动类别应基于产品最初选择的类别(“食品”)。如果你进入“快餐”类别并选择“汉堡包”,那么“快餐”应该是活跃的。打开“汉堡包”从“食物”,“食物”应该是活跃的类别。

我的尝试是在显示所有产品时将permalink (<?php the_permalink(); ?>)中的类别更改为当前类别,但它只是感觉不太正确。

也许有人有更好的解决方案。

祝你今天愉快!

编辑:

我成功地用正确的类别创建了permalink:

代码语言:javascript
复制
$custom_permalink = get_settings('siteurl')."/".get_query_var('product_cat')."/".basename(get_permalink());

可惜这不管用..。(将我重定向到“错误”类别)但我不喜欢这个黑客:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-07-09 18:59:43

我让它起作用了。我就是这样做的:

在您的自定义模板文件/ your /woocommerce/Content-Product.php中,您将更改一个href。

生成新permalink的代码(使用当前选定的类别):

代码语言:javascript
复制
    // HOOK FOR CORRECT ACTIVE SIDEBAR ELEMENT WHEN PRODUCT HAS MULTIPLE CATEGORIES
    if(get_query_var('product_cat') == ""){
        $product_categries = get_the_terms( $post->ID, 'product_cat' );
        foreach ($product_categries as $category) {
            $cur_cat = $category->slug;
        }

        $custom_cat = $cur_cat;
    }else{
        $custom_cat = get_query_var('product_cat');
    }

    $custom_permalink = get_permalink(5).$custom_cat."/".basename(get_permalink());

我还检查是否设置了一个类别(因为如果您正在查看“所有产品”,则没有一个类别,在本例中,我循环遍历产品并让它们的类别在permalink中使用)。

带有id 5的get_permalink基本上是我的商店页面,所以当您从商店中更改permalink时,它会保持动态。不喜欢硬编码的东西,因为它已经是一个丑陋的黑客。

将此代码放在包装您的产品的href之前,在我的例子中,这是在第42行(Woocommerce V2.0.10)。然后将此更改为

代码语言:javascript
复制
<a href="<?php the_permalink(); ?>">

代码语言:javascript
复制
<a href="<?php echo $custom_permalink; ?>">

当你面对同样的问题时,我希望这会对你有所帮助!

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17490933

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档