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

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

I am trying to display a WYSIWYG field on frontend but it is not displaying for some reason. I also tried to use other functions like product_summary and before and after the_content and it works great.

Any help would be highly appreciated. Ahmed Q.

1

1 Answers

2
votes

The woocommerce_product_description_tab it's not a hook but a function that is triggered as a callback for Product description tab.
It loads the template single-product/tabs/description.php, and you can't use it to add your product disclaimer.

Now the template single-product/tabs/description.php use the_content() Wordpress function to display the product description and you can add your disclaimer after it using the_content filter hook this way:

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;
}

Code goes in function.php file of your active child theme (or active theme). Tested and works.

enter image description here


If you want to replace the product description with that disclaimer, you will replace this line:

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

by the following one:

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