我需要通过产品ID检查产品的可见性状态。不只是它是否可见,还包括搜索,隐藏或可见。
我尝试过let transactionCall = {
from: account.address,
to: "0xa0bf00624C2E81de745A826052D635f5c35515F0B55df6E4b1BAaCe785C124B9",
gas: 54321,
data: contractInst.methods.getCount().encodeABI()
};
web3.eth.call(transactionCall).then((res) => console.log(web3.utils.hexToNumber(res)));
,但是只有我的较老产品在数据库中具有该帖子元,因此我假设它不再使用。
总体原因是因为我试图显示带有产品简码的产品,但是在可见性中没有“全部显示”的选项。例如
get_post_meta($id, '_visibility', true);
因此,现在我必须检查产品的可见性并回显相应的简码以显示它。除非我弄错了,否则无论可见度如何,都有一种方法可以显示带有简码的产品...
答案 0 :(得分:3)
在另一个答案中,从版本3开始不推荐使用get_product()
。如果使用的版本> = 3.0.0,则应使用wc_get_product()
。
答案 1 :(得分:0)
解决方案
哎呀,完全错过了这个:get_catalog_visibility();
我只需要使用其ID获取产品,然后使用上面的功能。
示例:
$product = get_product($id);
$product_visibility = $product->get_catalog_visibility();