Salta la navigazione

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.

Sun Mon Tue Wed Thu Fri Sat
- 8:00 – 15:00 8:00 – 15:00 8:00 – 15:00 8:00 – 15:00 8:00 – 15:00 -
- 16:00 – 17:00 16:00 – 17:00 16:00 – 17:00 16:00 – 17:00 16:00 – 17:00 -

Fuso orario del fornitore: Europe/Rome (GMT+01:00)

Questo ticket contiene 36 risposte, ha 3 voci.

Ultimo aggiornamento da Alejandro 1 anno, 6 mesi fa.

Assistito da: Alejandro.

Autore Messaggi
Aprile 18, 2023 a 6:52 pm #13498945

paoloC-16

Salve ho la seguente stringa in un plugin per la gestione e creazione di prezzi woocomnerce customizzati:
"esc_html(stripslashes($name))" vorrei sapere se esiste un modo per tradurre il contenuto della variabile $name che ovviamente cambia in funzione del nome che si vuole dare al prezzo customizzato da creare.
Ho provato con questa modifica:
esc_html__(stripslashes($name), 'woocom-urp') ma questa riga non viene individuata.

Aprile 19, 2023 a 4:20 pm #13506355

Laura
Supporter

Lingue: Inglese (English ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+01:00)

Salve,

grazie per averci contattato.

Da dove viene esattamente la stringa?

Aprile 20, 2023 a 7:35 am #13509145

paoloC-16

The plugin is this: link nascosto and the function where there is the string to translate is:
public function add_variable_price_fields($loop, $variation_data, $variation) {

$id = $variation->ID;

$read_only = '';
$is_disabled = apply_filters('woocom_urp_disable_urp_variation_fields', false, $variation);
if($is_disabled) {
$read_only = 'readonly="readonly"';
}

?>
<div class="clear"></div>
<div class="options_group">
<h3><?php _e('Custom Variation Prices:', 'woocom-urp'); ?></h3>
<?php
$count = 0;

foreach($this->custom_prices as $key => $name) {
$class = ++$count%2 ? "form-row-first":"form-row-last";
$price = WC_URP_Product_Meta::get_meta($variation, sanitize_key($key) );
$_field_price = wc_format_localized_price( $price );
$field_name = 'variable'.sanitize_key($key).'['.$loop.']';
?>
<p class="form-row <?php echo $class; ?>">
<label><?php echo esc_html(stripslashes($name)) . ' (' . get_woocommerce_currency_symbol() . ')'; ?> " href="#"> [?]</label>
<input type="text" size="5" name="<?php echo $field_name; ?>" value="<?php echo esc_attr( $_field_price ); ?>" class="wc_input_price" placeholder="<?php echo esc_html(stripslashes($name)); ?>" <?php echo $read_only; ?> />
</p>
<?php
}
do_action('woocom_urp_after_price_input_variable', $loop, $variation_data, $variation, $this->custom_prices);
echo '</div>';
}

Aprile 20, 2023 a 11:10 am #13511143

Laura
Supporter

Lingue: Inglese (English ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+01:00)

Il plugin Woocommerce User Role Pricing dovrebbe essere compatibile ma è stato testato nel 2020, quindi è possibile che siano cambiate delle cose.

Nella documentazione (link nascosto) inoltre non mi pare di vedere nulla relativo a questa variabile, ma non conoscendo il plugin potrei sbagliarmi.

Ad ogni modo per favore riproduci il problema qui così ne posso eventualmente parlare con il team di compatibilità link nascosto

Aprile 20, 2023 a 4:26 pm #13513251

paoloC-16

Il problema è che la stringa esc_html(stripslashes($name)) $name non viene tradotta. In pratica dal backend creo un nuovo prezzo per i prodotti e questo nome che viene messo all'interno di $name vorrei tradurlo. Ho cercato nelle stringhe di amministrazione ma non viene fuori dopo aver applicato la seguente correzione:
esc_html__(stripslashes($name), 'textdomain')

Aprile 24, 2023 a 8:18 am #13525165

Alejandro
Supporter

Lingue: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+01:00)

Proviamo a fare una cosa più semplice.

Invece di usare esc_html__, fai:

var $contentName= stripslashes($name);
sprintf( _($contentName, 'custom_domain') );  

Una volta aggiunto questo, vai su WPML > Localizzare temi e plugin e seleziona il plugin che hai modificato. dopodiché dovresti vedere la stringa in WPML > Traduzione stringa.

Puoi vedere se ti funziona?

Aprile 27, 2023 a 5:04 pm #13551907

paoloC-16

ho provato cosi (ho dovuto togliere la word var altrimenti avevo un errore dato che questo ciclo è all'interno di una funzione/metodo di una classe):
foreach($this->custom_prices as $key => $name) {
$class = ++$count%2 ? "form-row-first":"form-row-last";
$price = WC_URP_Product_Meta::get_meta($variation, sanitize_key($key) );
$_field_price = wc_format_localized_price( $price );
$field_name = 'variable'.sanitize_key($key).'['.$loop.']';
$contentName = stripslashes($name);
?>
<p class="form-row <?php echo $class; ?>">

<label><?php sprintf( __($contentName, 'woocom-urp') . ' (' . get_woocommerce_currency_symbol() . ')'); ?> " href="#"> [?]</label>
<input type="text" size="5" name="<?php echo $field_name; ?>" value="<?php echo esc_attr( $_field_price ); ?>" class="wc_input_price" placeholder="<?php echo esc_html(stripslashes($name)); ?>" <?php echo $read_only; ?> />
</p>
<?php
}

ma non va, la stringa viene ignorata.

Aprile 27, 2023 a 5:12 pm #13551945

paoloC-16

ho provato anche con: <label><?php sprintf( _e($contentName, 'woocom-urp') . ' (' . get_woocommerce_currency_symbol() . ')'); ?> " href="#"> [?]</label>

e a differenza di prima questa volta ho sempre la stringa non tradotto ma almeno viene visualizzata, con il precedente codice non visualizzavo più nemmeno il testo originale.

Aprile 28, 2023 a 5:18 pm #13559163

Alejandro
Supporter

Lingue: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+01:00)

Se invece crei una funzione di test, e usi il hook del footer, per caso in quel modo ti funziona? per il resto ti chiedo di migrare il tuo sito ad uno di staging che ti invierò nella prossima risposta per poter fare qualche test e quindi capire meglio cosa sta succedendo.

Una volta migrato il sito, ti chiedo di:

- Disabilitare tutti i plugin non necessari per poter vedere il codice
- Dirmi in quale file, directory e riga di codice posso vedere il problema
- Dirmi in quale pagina posso vedere il contenuto stampato

Grazie in anticipo.

Aprile 29, 2023 a 5:37 pm #13561481

paoloC-16

Cosa intendi con "Se invece crei una funzione di test, e usi il hook del footer"?

- Disabilitare tutti i plugin non necessari per poter vedere il codice -> OK
- Dirmi in quale file, directory e riga di codice posso vedere il problema -> FILE: .../wp-content/plugins/woocom-user-role-pricing/admin/class-woocom-urp-admin.php, funzione add_variable_price_fields, riga 380
- Dirmi in quale pagina posso vedere il contenuto stampato -> in qualsiasi pagina di backend dei prodotti woocommerce (vedi screenshoot allegato)

Ho effettuato la migrazione ma credo ci siano problemi di incompatibiltà dato che viene generato un errore: "Si è verificato un errore critico sul tuo sito web. Controlla la casella di posta dell'amministratore del sito per istruzioni.

Scopri di più riguardo la risoluzione dei problemi in WordPress."

Schermata 2023-04-29 alle 12.48.46.png
Aprile 29, 2023 a 5:54 pm #13561531

paoloC-16

hi, i found the problem. I forgot to delete a string in my custom plugin Kootj_plugin at line 305

Aprile 30, 2023 a 9:20 am #13562259

paoloC-16

hi try to connect via ftp using filezilla with these credential:
wordpress-219768-3481853.cloudwaysapps.com or 198.199.78.128
user-13498945 or user-13498945@wordpress-219768-3481853.cloudwaysapps.com
User-13498945

but i get a timeout error.

Maggio 2, 2023 a 8:26 am #13567801

Alejandro
Supporter

Lingue: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+01:00)

1) Per collegarti devi usare SFTP, non FTP

2) Hai detto che il problema era per aver dimenticato di cancellare una stringa. questo significa che ora funziona tutto? altrimenti non riesco a capire il commento.

3) Ho disattivato tutti i plugin perché il problema arrivava da uno di loro ma non so da quale. puoi attivare solo i necessari per ricreare il problema qui e possiamo vedere come continuare.

Fammi sapere per capire come continuare.

Maggio 2, 2023 a 2:52 pm #13571659

paoloC-16

per il collegamento ftp ho risolto grazie. Il file che ti dicevo essere corrotto ora sembra apposto. unico problema è che non riesco ad accedere a wp con le credenziali che ho. ho provato a recuperare la password ma l'email non mi arriva. Con la migrazione vengono cambiate in automatico?

Maggio 2, 2023 a 6:50 pm #13573771

Alejandro
Supporter

Lingue: Inglese (English ) Spagnolo (Español ) Italiano (Italiano )

Fuso orario: Europe/Rome (GMT+01:00)

Si le email non arrivano perché il SMTP è disattivato in questo server.

Usa la password "WPML" con il tuo utente per vedere se ti funziona visto che durante alcuni test ho dovuto cambiare la password perché con alcuni utenti avevo problemi di permessi e con altri no.

Poi provaci e fammi sapere cosa succede per capire come continuare.

L'argomento '[Chiuso] Translate dynamic string from a php variable' è chiuso a nuove risposte.