【发布时间】:2018-05-28 12:15:18
【问题描述】:
这就是我现在拥有的:
文本未包含在标准 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 中找到)。 p>
我试过这个:
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;
}
但这给我留下了这个奇怪的输出:
我的问题
- 如何仍能输出相同的 HTML?
- 如果上述选项不可用,我如何输出自己的 HTML?
【问题讨论】:
标签: php wordpress woocommerce wordpress-theming hook-woocommerce