【问题标题】:Get "primary" category image from WooCommerce product从 WooCommerce 产品中获取“主要”类别图像
【发布时间】:2018-05-10 13:51:58
【问题描述】:

我正在尝试获取产品的“主要”所选类别的特色图片。

从类别中获取图像不是问题,但我如何获得“主要”图像?

目前这是我正在使用的,当然还有所有图像。

我只想显示一张图片。

<?php
$terms = get_the_terms( $post->ID, 'product_cat' );
foreach ( $terms as $term ){
    $category_thumbnail = get_woocommerce_term_meta($term->term_id, 'thumbnail_id', true);
    $image = wp_get_attachment_url($category_thumbnail);
            echo '<img src="'.$image.'" alt="" />';
}?>

【问题讨论】:

  • 你说的“主要”选择类别是什么意思?是父类吗?

标签: php wordpress woocommerce categories custom-taxonomy


【解决方案1】:

您需要使用 'parent' 参数等于 0 来定位术语。

由于您通常为您的产品设置了一个 “主要” 产品类别,所以我们还是选择第一个 (但您可以为一个产品设置多个):

<?php

global $post;
$term_ids = wp_get_post_terms( $post->ID, 'product_cat', array('fields' => 'ids', 'parent' => '0') );
if( count($term_ids) > 0 ){
    echo '<img src="'. wp_get_attachment_url( get_woocommerce_term_meta( $term_ids[0], 'thumbnail_id', true ) ) .'" alt="" />';
}

?>

这是经过测试并且有效的。

【讨论】:

  • 它可以工作,但不像我想要的那样。现在,当您更改类别的顺序时,产品页面上的图像也会更改。所以显然它也在寻找订单。它不会在产品页面本身中保存一个值,将其标记为主要页面吗?
  • @Solomax 记住我的介绍 “由于您为您的产品只设置了一个“主要””……这意味着您只需要按产品有一个类别 (但是您可以在其中设置许多子类别)...所以只有在这种情况下,图像才会保持不变。如果您的产品中有许多类别,则图像将取决于类别顺序。您的问题不是很明确,请参阅 Raunak Gupta 的问题……因此,如果这不方便,您可以提出一个新问题,添加此代码,并更好地解释您有什么,如何设置类别在您的产品中,您希望拥有什么……
  • 查看图片 -> ibb.co/bYc25G 我想在产品页面中显示设置为“主要”类别的图片
  • @Solomax ... 这是您的主题(或带有插件的女仆)中的自定义功能,默认情况下在 Woocommerce 中不存在。所以我真的不知道你怎么能得到这个……你最好问一个新问题,添加与“主要”功能相关的所有必要细节。
  • 你是对的。这是一个 Yoast 功能。让我在一个新线程中重新表述这个问题。感谢您的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-05-27
  • 2014-01-27
  • 1970-01-01
  • 1970-01-01
  • 2021-11-07
  • 2016-01-09
  • 2014-06-27
相关资源
最近更新 更多