Skip Navigation

This thread is resolved. Here is a description of the problem and solution.

Problem: Trovo il seguente errore quando provo a salvare un prodotto:

Notice: Trying to get property 'term_id' of non-object in /wp-content/plugins/sitepress-multilingual-cms/menu/post-menus/post-edit-screen/wpml-meta-boxes-post-edit-html.class.php 

Soluzione: Assicurati di avere le priorità di traduzione create per default (Not needed, Optional, Required) correttamente create e tradotte nelle lingue attive del sito.

Relevant Documentation: https://wpml.org/documentation/translating-your-contents/adding-priority-to-your-translations/

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.

Nessun supporter è disponibile a lavorare oggi sul forum Italian. Sentitevi liberi di creare ticket e li gestiremo il prima possibile quando saremo online. Grazie per la comprensione.

Etichettato: 

This topic contains 21 risposte, has 3 voci.

Last updated by robertoO-5 2 anni, 3 mesi fa.

Assigned support staff: Alejandro.

Autore Post
June 12, 2019 at 2:27 pm #4005241

robertoO-5

Sto tentando di: Tradurre le pagine dei prodotti inseriti sul sito tramite woocommerce,

Link a una pagina dove è possibile vedere il problema: hidden link

Mi aspettavo di vedere: La traduzione di tutta la pagina in tedesco

Invece ho ottenuto: Che la tabella all'interno della descrizione del prodotto, anche se correttamente tradotta tramite il nuovo editor di traduzioni, resta in italiano. Tutte le altre parti vengono tradotte (a parte quelle lasciate volutamente in italiano) ma le tabelle all'interno non vengono mai tradotte.
Dopo la consegna della traduzione ricevo il seguente errore:

WordPress-Datenbank-Fehler: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1]
SELECT count(object_id) FROM omr_term_relationships WHERE object_id = 11487 AND term_taxonomy_id IN ()

Errore sul database di WordPress: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1]
SELECT count(object_id) FROM omr_term_relationships WHERE object_id = 2726 AND term_taxonomy_id IN ()

l'object_id cambia sempre in base al prodotto.

Come posso risolvere?
Ho gia provato gli strumenti di pulizia cache o riparazione tabelle, ma il problema persiste.

Grazie.

June 12, 2019 at 3:20 pm #4005761

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Salve,

grazie per averci contattato.

Come crei la tabella, con Fusion builder? Per caso è un modulo custom?

Come prima cosa ti chiederei di aggiornare WPML e Avada (se non lo è) e di controllare inoltre di aver applicato tutte le patch disponibili.

June 12, 2019 at 3:58 pm #4005933

robertoO-5

Salve,
La tabella viene creata tramite Fusion builder, non credo sia un modulo custom, utilizzo l'elemtent table di fusion builder.

WPML e Avada risultano aggiornati (o almeno così risulta da wordpress) e tutte le patch disponibili sono applicate.

Attualmente risultano le seguenti versioni:
WPML 4.1.3
Avada 5.9.1
Ultima patch #416931

June 12, 2019 at 4:01 pm #4005943

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

WPML non è aggiornato, la versione corrente è la 4.2.6 e a breve uscirà la 4.2.7

June 12, 2019 at 4:03 pm #4005973

robertoO-5

ah ok, ma come mai non ricevo dalla pagina plugins di woordpress la notifica di questa versione aggiornata?

Comunque domani mattina provo ad aggiornare manualmente e aggiornerò il post!

Grazie intanto per il supporto!

June 13, 2019 at 9:56 am #4011565

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

non saprei dire perché non compaia, forse c'è qualche problema di connessione al sito.
Aspetto notizie allora.

June 14, 2019 at 8:52 am #4019593

robertoO-5

Eccomi, purtroppo non ho potuto far nulla ieri, comunque aggiorno la situazione.

Per l'installazione del plugin: L'aggiornamento non veniva visualizzato, ma andando su Plugins --> Aggiungi nuovo e selezionando il Tab "Commerciale", sono riuscito a trovare e installare le versioni aggiornate. Adesso WPML risulta aggiornato alla 4.2.6.

Provando a tradurre un altro prodotto, il problema è rimasto, i campi vengono tradotti tutti tranne quelli della tabella in questione, anche se nell'editor di traduzione i campi vengono visualizzati e tradotti.

Il messaggio di errore visualizzato questa volta è:

Errore sul database di WordPress: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1]
SELECT s.id, st.status, s.domain_name_context_md5 AS ctx , st.value AS translated, st.mo_string AS mo_string, s.value AS original, s.gettext_context FROM omr_icl_strings s LEFT JOIN omr_icl_string_translations st ON s.id=st.string_id AND st.language='it' AND s.language!='it' WHERE s.context = 'default' LIMIT 1000 OFFSET 7000
June 14, 2019 at 3:34 pm #4022747

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

ho da poco visto un errore simile, anche se la situazione di partenza era diversa.

Prima di scalare il ticket al secondo livello, ti chiederei di fare queste prove:
1. vai in WPML -> Assistenza -> risoluzione dei problemi e prova tutti i pulsanti tranne quello di reset. Assicurati di avere un backup prima di farlo

2. Test di compatibilità:
- fai un backup del sito
- disattiva tutti i plugin tranne WPML e le sue componenti (+ Fusion core e Builder)
- controlla se il problema si presenta nuovamente
- se non lo fa, riattiva i plugin uno alla volta fino a trovare quello che causa il problema

June 14, 2019 at 3:48 pm #4022777

robertoO-5

Ciao,
ok grazie per l'aiuto!
Lunedì effettuerò le varie prove ed aggiornerò il ticket.

June 15, 2019 at 12:30 pm #4027275

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Perfetto, aspetto aggiornamenti allora.

June 17, 2019 at 1:12 pm #4035511

robertoO-5

Eccoci in aggiornamento.

Dopo aver aggiornato wpml alla 4.2.7.1 e utilizzati i pulsanti di risoluzione del problema siamo in queste condizioni:

1 - Traduzione nuova partendo da un prodotto in italiano - Sembra funzionare tutto correttamente. (Oggi effettueremo traduzioni di vari prodotti per capire se funziona davvero su i nuovi)

2 - Traduzione parziale di un prodotto e quindi aggiornata aggiungendo le parti mancanti - La tabella in questione resta in italiano

3 - Traduzioni già completate - Entrando per modificare la traduzione, i campi della tabella in questione risultano correttamente tradotti, completando e riconsegnando la traduzione la tabella resta comunque in italiano.

Come posso procedere?

June 17, 2019 at 1:14 pm #4035571

robertoO-5

Avevo dimenticato di scrivere che sono stati aggiornati anche:
1 - WPML String Translation alla 2.10.5.1
2 - WPML Translation Management alla 2.8.6.1

June 18, 2019 at 7:44 am #4041037

robertoO-5

Migrazione completata, allora attendo informazioni. Grazie.

June 18, 2019 at 2:52 pm #4044571

Laura
Supporter

Languages: Inglese (English ) Italiano (Italiano )

Timezone: Europe/Rome (GMT+02:00)

Ciao,

ho fatto un po' di test e ti aggiorno.
Innanzitutto quando ho provato ad entrare sul sito clonato ho riscontrato un errore fatale dovuto al WP Memory Limit troppo basso. Probabilmente sul tuo server non si vede perché è modificato al livello di PHP. Comunque l'ho aumentato a 256M con questo codice

/** WP Memory Limit */
define( 'WP_MEMORY_LIMIT', '256M' );

e sono riuscita ad accedere.
Faccio questa premessa perché poi non ho più riscontrato il problema, quindi se anche seguendo le mie indicazioni non riesci puoi provare ad aumentare anche tu.

Quando hai riconsegnato la traduzione tedesca, l'icona della traduzione era la matita o l'icona circolare con le freccette? Se era la matita, devi prima aggiornare l'originale. Io ho fatto così per questo prodotto hidden link
(ho controllato sul tuo sito che la tabella non fosse tradotta) e come vedi la tabella è correttamente in tedesco.

Probabilmente questo vale sia per le traduzioni già completate che per quelle in corso di completamento. Prima devi aggiornare l'originale (aggiungendo un punto e togliendolo, per esempio) e verificare che ci sia l'icona circolare accanto alla traduzione.
Se questo non basta, prova ad aumentare la memoria interna tramite il file wp-config.php

Fammi sapere se così risolvi o se hai bisogno di ulteriore assistenza.

June 19, 2019 at 7:57 am #4049229

robertoO-5

Eccomi..
Wp Memory limit è impostato a 512 in realtà e no infatti non abbiamo mai avuto problemi di questo tipo.

Per quanto riguarda le traduzioni, ho fatto la prova in entrambi i modi prima, avevo provato sia con la matita, sia con le freccette ma non aggiornava in nessun caso la tabella.

Riprovando ora, quindi entrando in un prodotto già tradotto e "completato", modificando l'italiano e successivamente cliccando sull'icona delle freccette per aggiornare la traduzione, entro nell'editor di traduzioni dove trovo tutto già correttamente tradotto, consegnando il lavoro questa volta la tabella viene tradotta.
Alla chiusura dell'editor di traduzioni ricevo questo avviso:

 WordPress-Datenbank-Fehler: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1]
SELECT count(object_id) FROM omr_term_relationships WHERE object_id = 11534 AND term_taxonomy_id IN ()

WordPress-Datenbank-Fehler: [You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ')' at line 1]
SELECT count(object_id) FROM omr_term_relationships WHERE object_id = 11082 AND term_taxonomy_id IN ()

Inoltre, quando entro nel prodotto in italiano prima di fare la procedura di "aggiornamento traduzione" che comunque funziona, trovo il seguente avviso nel tab lingua sotto la voce priorità di traduzione:

Notice: Trying to get property 'term_id' of non-object in **PERCORSO**/wp-content/plugins/sitepress-multilingual-cms/menu/post-menus/post-edit-screen/wpml-meta-boxes-post-edit-html.class.php on line 143

Questo avviso è presente entrando su tutti i prodotti in italiano, ma dopo aver premuto il tasto aggiorna l'errore non viene più visualizzato.

Quindi ricapitolando, adesso effettuando una nuova traduzione la tabella viene tradotta, ma ricevo un errore SQL.
Per i prodotti già tradotti è necessario modificare l'italiano e poi riconsegnare la traduzione per risolvere il problema della tabella non tradotta, ma nella pagina di modifica in italiano ricevo l'avviso "Trying to get property 'term_id' of non-object"

Posso fare qualcosa per evitare questi errori, o lascio il mondo come sta visto che comunque il problema è risolto?