[Risolto] Problema traduzione codice php immesso via code snippet
Questo è il forum di assistenza tecnica di WPML, il plug-in multilingue di WordPress.
La sua lettura è permessa a tutti, ma la pubblicazione è riservata esclusivamente ai clienti di WPML. Il team di WPML risponde sul forum 6 giorni su 7, 22 ore su 24.
Spiegaci cosa stai tentando di fare.
Ho aggiunto un Leggi tutto e leggi meno alla short description del single product in woocommerce. In italiano funziona bene. Ho quindi cercato di tradurre questi testi in Inglese e francese con l'aiuto di un esempio che ho trovato sul vostro forum e l'ho adattato al mio caso. Diciamo che la traduzione funziona ma quando clicco su Read More in Inglese il testo sparisce, idem per francese.
Vedi qui: link nascosto
Il sito é ancora in sviluppo ma quasi pronto.
Siccome non sono un grande programmatore in php potreste darmi una mano a capire l'errore?
Grazie
Alex
Questo il codice che funziona in italiano:
add_action( 'woocommerce_before_single_product', 'shoptimizer_woocommerce_short_description_truncate_read_more' );
function shoptimizer_woocommerce_short_description_truncate_read_more() {
wc_enqueue_js('
var show_char = 250;
var ellipses = "... ";
var content = $(".woocommerce-product-details__short-description").html();
if (content.length > show_char) {
var a = content.substring(0, show_char);
var html = "<span class=\'truncated\'>" + a + ellipses + "Leggi tutto</p></span><span class=\'truncated\' style=\'display:none\'>" + content + "Leggi meno</span>";
$(".woocommerce-product-details__short-description").html(html);
}
$(".read-more").click(function(e) {
e.preventDefault();
$(".woocommerce-product-details__short-description .truncated").toggle();
});
$(".read-less").click(function(e) {
e.preventDefault();
$(".woocommerce-product-details__short-description .truncated").toggle();
});
');
}
Mentre questo quello che ho adattato per Inglese e Francese con uno snippet ulteriore solo per EN e FR.
<?php
//Function for the EN language
function shoptimizer_woocommerce_short_description_truncate_read_more_en() {
wc_enqueue_js('
var show_char = 250;
var ellipses = "... ";
var content = $(".woocommerce-product-details__short-description").html();
if (content.length > show_char) {
var a = content.substring(0, show_char);
var html = "<span class=\'truncated\'>" + a + ellipses + "Read more</p></span><span class=\'truncated\' style=\'display:none\'>" + content + "Read less</span>";
$(".woocommerce-product-details__short-description").html(html);
}
$(".read-more").click(function(e) {
e.preventDefault();
$(".woocommerce-product-details__short-description .truncated").toggle();
});
$(".read-less").click(function(e) {
e.preventDefault();
$(".woocommerce-product-details__short-description .truncated").toggle();
});
');
}
//Function for the FR language
function shoptimizer_woocommerce_short_description_truncate_read_more_fr() {
wc_enqueue_js('
var show_char = 250;
var ellipses = "... ";
var content = $(".woocommerce-product-details__short-description").html();
if (content.length > show_char) {
var a = content.substring(0, show_char);
var html = "<span class=\'truncated\'>" + a + ellipses + "Lire plus</p></span><span class=\'truncated\' style=\'display:none\'>" + content + "Lire moins</span>";
$(".woocommerce-product-details__short-description").html(html);
}
$(".read-more").click(function(e) {
e.preventDefault();
$(".woocommerce-product-details__short-description .truncated").toggle();
});
$(".read-less").click(function(e) {
e.preventDefault();
$(".woocommerce-product-details__short-description .truncated").toggle();
});
');
}
// If French content
if ( defined( 'ICL_LANGUAGE_CODE' ) && 'fr' == ICL_LANGUAGE_CODE ) {
//French code here
add_action( 'woocommerce_before_single_product', 'shoptimizer_woocommerce_short_description_truncate_read_more_fr' );
}
// If English content
else if ( defined( 'ICL_LANGUAGE_CODE' ) && 'en' == ICL_LANGUAGE_CODE ) {
//English code here
add_action( 'woocommerce_before_single_product', 'shoptimizer_woocommerce_short_description_truncate_read_more_en' );
}
?>