我想在woocommerce变量产品描述中使用一个pods shortcode字段,但是默认情况下变量描述字段不支持shortcode。
变体描述存储在一个数组woocommerce_available_variation中,所以我不能简单地调用函数do_shortcode($variation)。
我尝试使用以下代码在此字段中允许使用短代码:
add_filter( 'woocommerce_available_variation', 'shortcode_variation_description');
function shortcode_variation_description( $variation ) {
$variation['variation_description'] = do_shortcode( $variation['variation_description'] );
return $variation;
但它不工作。为什么?
2条答案
按热度按时间kgsdhlau1#
当使用你的代码时,它工作。为了测试,我使用了Woocommerce的shortcode
[products]
的变体描述如下:插补的文本为*(其中**
37
*为真实的的简单产品ID):我得到了这个显示:
我对这个代码版本做了一些小小的修改 (你的也可以):
代码在你的活动子主题(活动主题)的function.php文件中。
unguejic2#
你可以定义你自己的短代码,请参阅文档。你可以复制/粘贴代码,因为它被 Package 在一个类中,所以它不会因为双重声明而触发致命错误。
但是,短代码并不是这样工作的: