【问题标题】:Allow shortcodes in product variations description in Woocommerce在 Woocommerce 的产品变体描述中允许使用简码
【发布时间】:2019-04-17 01:25:18
【问题描述】:

我想在 woocommerce 变量产品描述中使用 pods 短代码字段,但默认情况下,变量描述字段不支持短代码。

变量描述存储在in an array 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;

但它不起作用。

有人知道我做错了什么吗?

【问题讨论】:

    标签: php wordpress woocommerce shortcode variations


    【解决方案1】:

    使用您的代码时,它可以工作。为了测试,我在变体描述中使用了Woocommerce shortcode [products],如下所示:

    估算的文本是 (其中37是一个真正简单的产品ID):
    “这是带有简码的描述... [products ids="37"] 如您所见,检测到并显示了此简码。"

    我得到了这个显示:

    所以它确实有效。我对这个代码版本做了一些小改动(你也可以)

    add_filter( 'woocommerce_available_variation', 'variation_description_allow_shortcodes', 10, 3 );
    function variation_description_allow_shortcodes( $variation_data, $product, $variation ) {
        $variation_data['variation_description'] = do_shortcode( $variation_data['variation_description'] );
    
        return $variation_data;
    }
    

    代码进入您的活动子主题(活动主题)的 function.php 文件中。经过测试并且可以工作。

    【讨论】:

    • 非常感谢@LoicTheAztec。我实现了你的代码,现在它工作得很好!非常感谢你 - 我已经为这个问题苦苦挣扎了好几个小时。
    【解决方案2】:

    您可以定义自己的简码,请参阅文档。您可以复制/粘贴代码,因为它包含在一个类中,因此不会因双重声明而触发致命错误。

    但是短代码不能这样工作:

    function shortcode_handler($atts) {
      //code goes here
     }
    add_shortcode("name_of_shortcode","shortcode_handler');
    

    【讨论】:

      猜你喜欢
      • 2021-04-24
      • 2021-06-22
      • 1970-01-01
      • 2020-02-24
      • 1970-01-01
      • 2020-10-21
      • 1970-01-01
      • 2022-09-26
      • 1970-01-01
      相关资源
      最近更新 更多