Skip to content
This repository was archived by the owner on Jun 8, 2023. It is now read-only.

Notice: Only variables should be assigned by reference #26

Open
bunglegrind opened this issue May 23, 2019 · 14 comments
Open

Notice: Only variables should be assigned by reference #26

bunglegrind opened this issue May 23, 2019 · 14 comments
Labels

Comments

@bunglegrind
Copy link

Buongiorno,
ho appena installato il tema in una versione wordpress pulita (senza plugin o altro). Aprendo il post "hello world" appaiono i seguenti errori (notice):

  • Notice: Only variables should be assigned by reference in <...>\wordpress\wp-content\themes\design-italia\comments.php on line 6

  • Notice: Only variables should be passed by reference in <...>\wordpress\wp-content\themes\design-italia\functions.php on line 175

(quest'ultimo due volte)

Sono in ambiente Windows con PHP 7.2.7

@MarcoGargano
Copy link
Member

Ciao @bunglegrind , grazie per la segnalazione.
Potrei aver trovato il problema, ma prima di rilasciare una nuova versione con questo fix volevo chiederti se puoi testarlo sulla tua installazione (a me non dà il tuo errore quindi volevo capire se sostenibile).
Per fare questo dovresti fare una piccola modifica al file comments.php, tu potresti farlo?
Grazie.

@bunglegrind
Copy link
Author

ok, dimmi

@MarcoGargano
Copy link
Member

Nel file comments.php, riga 6, trovi questo:
$comments_by_type = &separate_comments( $comments );
dovresti rimuovere la "&" e quindi la riga diventerebbe:
$comments_by_type = separate_comments( $comments );
...e salva!

Poi pulisci la cache e vediamo se si risolve il problema 🤞😅

@bunglegrind
Copy link
Author

La modifica che hai proposto elimina la prima notice delle tre. Analoga modificha in functions.php riga 175 elimina solo il primo dei due notice restanti.

@MarcoGargano
Copy link
Member

Ma quindi hai rimosso la "&" anche in function.php??
Credo vadano tolte in entrambi i file.

Riga 175 in function.php:
$comments_by_type = & separate_comments(get_comments('status=approve&post_id=' . $id));
diventa:
$comments_by_type = separate_comments(get_comments('status=approve&post_id=' . $id));

Funziona?

@bunglegrind
Copy link
Author

no. Resta comunque un notice.

@MarcoGargano
Copy link
Member

Quale?

@bunglegrind
Copy link
Author

Notice: Only variables should be passed by reference in <...>\wordpress\wp-content\themes\design-italia\functions.php on line 175

@MarcoGargano
Copy link
Member

Giusto per capire se è colpa sempre delle &; proviamo a togliere anche l'altra.
Riga 175 in functions.php, diventerebbe:
$comments_by_type = separate_comments(get_comments('post_id=' . $id));

@bunglegrind
Copy link
Author

bunglegrind commented May 24, 2019

così funziona correttamente:

$cc = get_comments('status=approve&post_id=' . $id);
$comments_by_type = separate_comments($cc);

Però questo discorso degli ampersand (che se ho capito bene modificano il passaggio delle variabili da copia a riferimento) andrebbe approfondito meglio. Non vorrei si creassero altri disservizi.

Probabilmente non ti appare perché hai disabilitato gli errori notice

@MarcoGargano
Copy link
Member

Avevo disattivato le notice e poi mi ero dimenticato di riattivarle.
Non so come ringraziarti!!! Veramente GRAZIE! 🙏

Se hai altre segnalazioni (e anche soluzioni) suggeriscimele pure!
Inserisco il fix nella prossima release, grazie ancora.

@bunglegrind
Copy link
Author

prego! non mancherò!

@MarcoGargano
Copy link
Member

Stavo cercando di investigare...
con il tuo fix in functions.php non serve modificare comments.php
Per lo meno, a me non da errore in comments.php
A te da l'errore che avevi postato all'inizio?

Così me la tengo buona per la prossima release e chiudo questa issue.
Grazie ancora!

@bunglegrind
Copy link
Author

l'errore sul comment c'è ancora se non si toglie l'ampersand da comments.php.

Ma hai installato xdebug? Gli errori a schermo risultano più evidenti.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

2 participants