【问题标题】:Woocommerce Display Category Image - get_woocommerce_term_meta deprecatedWoocommerce 显示类别图像 - 不推荐使用 get_woocommerce_term_meta
【发布时间】:2017-01-23 17:46:26
【问题描述】:

我需要一些帮助。

我想在当前分类页面上显示分类图片,我google了这个,我找到的每个答案都使用相同的代码。

他们都使用get_woocommerce_term_meta来检索使用的缩略图的ID,以便您可以使用wp_get_attachment_url获取图像地址。

听起来不错,但每当我尝试这段代码时,它什么也没有返回,我认为这是因为 get_woocommerce_term_meta 已被弃用。

有没有人知道解决这个问题的方法,所以当我有类别 ID 时可以得到图片地址?

这是我的代码:

global $wp_query;
$cat = $wp_query->get_queried_object();
$thumbnail_id = get_woocommerce_term_meta($cat->term_id, 'thumbnail_id', true);
echo $cat->term_id."<br />";
echo $thumbnail_id;
$image_src = wp_get_attachment_url($thumbnail_id);

$cat-&gt;term_id 返回正确的类别 ID,但 $thumbnail_id 返回 0。

代码在 header.php 中。

【问题讨论】:

  • 你能分享你的代码吗?我会帮忙,但我想看看你试图返回什么。
  • 我已将代码添加到问题中。

标签: wordpress woocommerce


【解决方案1】:

get_woocommerce_term_meta() 可能已被弃用,但尚未删除。问题出在您设置的其他地方。

话虽如此,我们可以很容易地解决弃用问题。只需将 get_woocommerce_term_meta() 的用法替换为新的原生 WordPress 函数 get_term_meta()

get_woocommerce_term_meta() 无论如何都会简单地将其参数传递给新函数,因此我们可以确定问题不在于已弃用的函数。

问题的可能原因:

  • 用于保存图像的密钥与用于检索的密钥不同
  • 未传递正确的术语 ID
  • 未设置图片

【讨论】:

  • 我已将代码添加到问题中 - 我只是从 Woocommerce 复制并粘贴了它。我有图像集和缩略图集,但仍然为缩略图 id 带回 0。
  • 为了帮助调试,您可以转到管理员并获取您知道已设置图像的类别 ID。然后将该值硬编码到您的代码中。将 $cat-&gt;term_id 替换为类别 ID。您使用的密钥似乎是正确的,因此很可能是类别 ID 存在问题。另外,检查$cat-&gt;term_id 返回的值。 echo $cat-&gt;term_id 并确认它与您所在类别的 ID 匹配。
  • $terms = get_terms( array( 'taxonomy' =&gt; 'pa_brand', 'hide_empty' =&gt; false, )); foreach ( $terms as $term ) : $thumbnail_id = get_term_meta( $term-&gt;term_id, 'pa_brand_swatches_id_photo', true ); $textureImg = wp_get_attachment_image_src( $thumbnail_id, 'full' ); var_dump( $textureImg); endforeach;无法获取图片字符串
猜你喜欢
  • 2012-09-24
  • 2015-05-07
  • 1970-01-01
  • 1970-01-01
  • 2019-09-02
  • 1970-01-01
  • 1970-01-01
  • 2018-12-05
  • 1970-01-01
相关资源
最近更新 更多