Take the 2-minute tour ×
WordPress Development Stack Exchange is a question and answer site for WordPress developers and administrators. It's 100% free, no registration required.

I need to append default text block to each product description (same text for each and every product) in WooCommerce. So I've created simple plugin which adds new settings field as rich text editor (wp_editor) into "WooCommerce > Settings > Catalog" tab.

All works fine and I can enter/save plain text, but it strips any HTML tags. I believe tags are stripped by woocommerce_clean in settings-save.php

if ( isset( $value['id'] ) && isset( $_POST[$value['id']] ) ) {
 update_option($value['id'], woocommerce_clean($_POST[$value['id']]));
} elseif( isset( $value['id'] ) ) {
 delete_option($value['id']);
}

Would really appreciate any ideas how this could be fixed without changing core code?

In advance, thank you.

share|improve this question
    
Is the text the same on each and every product? –  Stephen Feb 2 '13 at 21:04
    
Yes, it's the same for all products. –  Tomas Feb 2 '13 at 21:13
add comment

1 Answer

The woocommerce_clean function: return trim( strip_tags( stripslashes( $var ) ) ); is pretty much going to stip out any html. You may be able to use core WordPress sanitize and escaping functions, but no guarantee how WooCommerce is going to react.

Take a look at Data Validation docs on the WordPress Codex for other options.

Since your boilerplate text is the same on every product your simplest solution may be copy the default WooCommerce template(s) into your theme's directory and editing the file(s) as needed. Seems like overkill to write a user interface for this.

If you want to display this in the product 'Short Description' then the file would be ../wp-content/plugins/woocommerce/templates/single-product/short-description.php. Copy that file to your your theme's directory ../wp-content/themes/***your theme directory***/woocommerce/single-product/short-description.php

Once you've copied you can edit the file without worrying about your changes being overwritten when you update WooCommerce.

The docs on customizing the templates are at WooCommerce docs.

NOTE: If you want this in the Description tab you can use the file ../wp-content/plugins/woocommerce/templates/single-product/tabs/description.php

share|improve this answer
    
Thanks @Stephen. That's how I did it (added required text into the template). My concern with this solution is that shop manager will not be able to change that text easily and that's why I'm trying to make it editable through admin interface. –  Tomas Feb 2 '13 at 21:57
    
@Tomas, I added a link that might be helpful. It's to the 'Data Validation' page on the codex. Should get you started. –  Stephen Feb 2 '13 at 22:05
    
@Thomas after re-reading the question it makes sense. My first impression was you were doing a per product option rather than a global option. –  Stephen Feb 2 '13 at 22:07
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.