Woocommerce problema descrizione prodotto
Pubblicato il 13/3/2014 • Blog bug, descrizione, porodotto, problema, prodotto, woocommerce
Oggi parliamo di: Woocommerce problema descrizione prodotto.
Se dopo l’aggiornamento di woocommerce avete un bug sulla descrizione prodotto (il campo si riempe da solo o vi lascia un grosso spazio bianco nella vostra scheda di prodotto) potere risolvere in due modi.
In ogni caso dovete intervenire sul plugin direttamente.
1) Se non lo avete mai usato il campo descrizione prodotto vi consiglio semplicemente di rimuoverlo. FATE UN BACKUP DEL PLUGN.
Entrate in ftp nella vostra installazione di wordpress.
Seguite il percorso: wp-content/plugin/woocommerce/templates/single-product/short-description.php
Questo file contiene
<?php /** * Single product short description * * @author WooThemes * @package WooCommerce/Templates * @version 1.6.4 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly global $post; if ( ! $post->post_excerpt ) return; ?> <div itemprop="description"> <?php echo apply_filters( 'woocommerce_short_description', $post->post_excerpt ) ?></div>
Noi lo modificheremo così:
<?php /** * Single product short description * * @author WooThemes * @package WooCommerce/Templates * @version 1.6.4 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly global $post; if ( ! $post->post_excerpt ) return; ?><div itemprop="description"></div>
Abbiamo semplicemente tolto il contenuto del <div itemprop=”description”>.
Ora il problema è risolto.
__________________________________________________________
Se però volete utilizzare quel campo potete fare una modifica un po’ più complessa:
Per rima cosa apriamo il nostro file function.php (fate un bakcup anche di questo) del nostro tema e aggiungiamo questa funzione che genererà 2 nuovi campi all’interno della nostra scheda prodotto (uno per l’inglese e uno per l’italiano). Spiego questa procedura per chi utilizza il plugin qtranslate in modo da integrare questa parte a temi in doppia lingua.
if(function_exists("register_field_group")) { register_field_group(array ( 'id' => 'acf_descrizione-prodotto-woocommerce', 'title' => 'Descrizione prodotto woocommerce', 'fields' => array ( array ( 'key' => 'field_53219cfc292da', 'label' => 'Descrizione-prodotto-in-Italiano', 'name' => 'Descrizione-prodotto-in-Italiano', 'type' => 'text', 'default_value' => '', 'placeholder' => '', 'prepend' => '', 'append' => '', 'formatting' => 'html', 'maxlength' => '', ), array ( 'key' => 'field_53219d53527eb', 'label' => 'Descrizione-prodotto-in-Inglese', 'name' => 'Descrizione-prodotto-in-Inglese', 'type' => 'text', 'default_value' => '', 'placeholder' => '', 'prepend' => '', 'append' => '', 'formatting' => 'html', 'maxlength' => '', ), ), 'location' => array ( array ( array ( 'param' => 'post_type', 'operator' => '==', 'value' => 'product', 'order_no' => 0, 'group_no' => 0, ), ), ), 'options' => array ( 'position' => 'normal', 'layout' => 'no_box', 'hide_on_screen' => array ( ), ), 'menu_order' => 0, )); }
Ricordatevi di inserire questa parte di codice prima della chiusura e non dopo ?>
Ora se provate ad andare sui vostri prodotti (nel pannello di wp) troverete due nuovi campi.
Ora per integrarli andiamo a cercare il file all’interno del plugin woocommerce:
wp-content/plugin/woocommerce/templates/single-product/short-description.php
Ora modificheremo il file così (sa usiamo il plugin qtranslate)
<?php /** * Single product short description * * @author WooThemes * @package WooCommerce/Templates * @version 1.6.4 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly global $post; if ( ! $post->post_excerpt ) return; ?> <div id="description"> <? $lang = qtrans_getLanguage(); if($lang == "it"): ?> <?php echo get_post_meta($post->ID, 'Descrizione-prodotto-in-Italiano', true); ?> <? else : ?> <?php echo get_post_meta($post->ID, 'Descrizione-prodotto-in-Inglese', true); ?> <? endif; ?> </div>
Questo invece è per chi non usa qtranslate
<?php /** * Single product short description * * @author WooThemes * @package WooCommerce/Templates * @version 1.6.4 */ if ( ! defined( 'ABSPATH' ) ) exit; // Exit if accessed directly global $post; if ( ! $post->post_excerpt ) return; ?> <div id="description"> <?php echo get_post_meta($post->ID, 'Descrizione-prodotto-in-Italiano', true); ?> </div>
ATTENZIONE: queste modifiche funzioneranno finchè non aggiornerete nuovamente il plugin.