Woocommerce,获取当前的产品ID

shp*_*son 39 wordpress product woocommerce

我目前正在研究WooCommerce主题并尝试在产品详细信息页面中添加侧边栏.

我已经能够添加侧边栏了(具体来说,这个:http://woocommerce.wp-a2z.org/oik_file/templatescontent-widget-product-php/)

现在,我正在试图弄清楚如何在当前选择的产品中添加一类"活动",似乎无法弄明白?

换句话说,如果当前产品ID等于侧边栏中的产品ID,那么我该怎么做呢?添加class ="active"到li?

我已经进行了大量的搜索,并且无法提出任何有用的信息,所以我要转向这里.

任何帮助非常感谢!!

Sam*_*yer 89

2017年更新:

global $product;
$id = $product->get_id();
Run Code Online (Sandbox Code Playgroud)

Woocommerce不喜欢你直接访问这些变量.如果你的wp_debug是真的,这将摆脱woocommerce的任何警告.

  • 是的,这是WooCommerce 3.0的正确更新. (2认同)

hel*_*ing 24

如果插件由于某种原因未被插件修改,您应该能够通过插件获得单个产品页面的"id"

global $post;
$id = $post->ID
Run Code Online (Sandbox Code Playgroud)

要么

global $product;
$id = $product->id;
Run Code Online (Sandbox Code Playgroud)

  • 请参阅@ Samyer的2017年更新.使用`$ product-> id`将触发此消息:不应直接访问__Product属性___ (6认同)

Orl*_*ter 8

从WooCommerce开始,2.2您可以简单地使用wc_get_productMethod。作为参数,您可以传递,ID或者如果您已经在循环中,则将其保留为空。

wc_get_product()->get_id();

或两行

$product = wc_get_product();
$id = $product->get_id();
Run Code Online (Sandbox Code Playgroud)


小智 7

正确的方法是:

global $product;

$id = $product->get_id();
Run Code Online (Sandbox Code Playgroud)


R T*_*R T 5

检索 WordPress 循环中当前项目的 ID。

echo get_the_ID(); 
Run Code Online (Sandbox Code Playgroud)

因此也适用于产品 ID。#tested #woo-commerce