在Woocommerce中在产品描述之后显示自定义字段

时间:2018-11-21 08:46:34

标签: php wordpress woocommerce product advanced-custom-fields

add_action( 'woocommerce_product_description_tab', 'aq_display_disclaimer', 40, 9);

function aq_display_disclaimer() {
  echo '<b>Disclaimer:</b> ' . get_field('product_disclaimer');
}

我正在尝试在前端显示“所见即所得”字段,但由于某些原因没有显示。我还尝试过使用诸如product_summary以及the_content之前和之后的其他功能,效果很好。

任何帮助将不胜感激。 艾哈迈德Q。

1 个答案:

答案 0 :(得分:2)

  

woocommerce_product_description_tab 不是一个钩子,而是产品描述标签的triggered as a callback功能。
  它会加载模板single-product/tabs/description.php,您将无法使用它来添加产品免责声明。

现在,模板single-product/tabs/description.php使用the_content()的Wordpress功能显示产品说明,您可以使用the_content过滤器挂钩在以下方式添加免责声明:

add_filter( 'the_content', 'display_disclaimer_after_product_description', 10, 1 );
function display_disclaimer_after_product_description( $content ){
    // Only for single product pages
    if( ! is_product() ) return $content;

    if( $product_disclaimer = get_field( 'product_disclaimer', get_the_id() ) )
        return $content . '<b>Disclaimer:</b> ' . $product_disclaimer;

    return $content;
}

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

enter image description here


如果您要用该免责声明替换产品说明,则将替换以下行:

return $content . '<b>Disclaimer:</b> ' . $product_disclaimer;

通过以下一个:

return '<b>Disclaimer:</b> ' . $product_disclaimer;