更改WooCommerce可用性文本并包括原始HTML

这就是我现在所拥有的:

更改WooCommerce可用性文本并包括原始HTML

文章图片
【更改WooCommerce可用性文本并包括原始HTML】文本未包装在标准WooCommerce HTML中。
这就是我要的:
更改WooCommerce可用性文本并包括原始HTML

文章图片
此处的文本正确包装在标准WooCommerce HTML中。
这就是我所做的
我已经将此添加到functions.php中。我使用的是” 高级自定义字段” , 因此我将该字段的内容(纯文本)存储在$ availability变量中。
add_filter( 'woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2); function wcs_custom_get_availability( $availability, $_product ) { // Change Out of Stock Text if ( ! $_product-> is_in_stock() ) { $availability['availability'] = the_field("text_stock", "option"); } return $availability; }

文本正确显示在产品页面上, 但通常不会包装商品信息的HTML(可在WooCommerce / templates / single-product / stock.php中找到)。
我已经试过了:
add_filter( 'woocommerce_get_availability', 'wcs_custom_get_availability', 1, 2); function wcs_custom_get_availability( $availability, $_product ) { // Change Out of Stock Text if ( ! $_product-> is_in_stock() ) { $availability['availability'] = '< p class="stock ' . esc_attr( $availability['class'] ) . '"> ' . the_field("text_stock", "option") . '< /p> '; } return $availability; }

但是, 这给我留下了这个奇怪的输出:
更改WooCommerce可用性文本并包括原始HTML

文章图片
我的问题
  • 如何仍输出相同的HTML?
  • 如果上述选项不可行, 如何输出自己的HTML?
#1 你是否尝试过使用get_field(” text_stock” , ” option” )而不是the_field(” text_stock” , ” option” )?

    推荐阅读