Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

errore nella libreria CMB2 #198

Closed
2 tasks done
oxodi opened this issue Mar 18, 2023 · 23 comments · Fixed by #210
Closed
2 tasks done

errore nella libreria CMB2 #198

oxodi opened this issue Mar 18, 2023 · 23 comments · Fixed by #210
Labels
bug Something isn't working

Comments

@oxodi
Copy link

oxodi commented Mar 18, 2023

Prerequisiti

Descrivi il problema

Buongiorno,

con il template sto riscontrando un problema nelle varie sezioni di configurazione Es:
Configurazione -> HomePage ; In basso compare il seguente errore:

"Fatal error: Uncaught Error: Call to a member function options() on null in /home/admin/web/comuni.turco.cloud/public_html/wp-content/themes/design-comuni-wordpress-theme-1.6.1/inc/lib/cmb-field-select2-master/cmb-field-select2.php:84"

Sto utilizzando WP 6.0 con PHP 7.4 ma ho verificato anche con altre versioni ed il problema rimane.

Grazie

Includi link o screenshot

No response

Su quale sisitema operativo stai riscontrando il problema?

Linux

Su quale browser stai riscontrando il problema?

Qualsiasi

Che versione del tema stai utilizzando?

1.6.1

@oxodi oxodi added the bug Something isn't working label Mar 18, 2023
@oxodi
Copy link
Author

oxodi commented Mar 19, 2023

Si segnala che l'errore non è presente nella versione 1.6.0

@marco-nanni
Copy link

Segnalo pure io il medesimo errore.

@abmcr
Copy link
Contributor

abmcr commented Mar 22, 2023

Lo stesso problema all'interno di ogni CPT

@abmcr
Copy link
Contributor

abmcr commented Mar 22, 2023

con la seguente modifica l’errore è risolto MA non sono in grado di capire se la modifica abbia ripercussioni altrove, anche se non dovrebbe

vedi

Riporto qui le linee
public function get_pw_multiselect_options( $field_type_object, $field_escaped_value = array() ) { if($field_type_object){ $options = (array) $field_type_object->field->options(); // If we have selected items, we need to preserve their order if ( ! empty( $field_escaped_value ) ) { $options = $this->sort_array_by_array( $options, $field_escaped_value ); } } else { $options = []; }

@fabricius4
Copy link
Contributor

in fase di correzione mi da errore qui e difatti il problema rimane. Forse sbaglio qualcosa nel codice
Immagine2

@abmcr
Copy link
Contributor

abmcr commented Mar 22, 2023

Si hai dimenticato un paio di righe
Incollo qui l'intera funzione

` public function get_pw_multiselect_options( $field_type_object, $field_escaped_value = array() ) {
if($field_type_object){
$options = (array) $field_type_object->field->options();
// If we have selected items, we need to preserve their order
if ( ! empty( $field_escaped_value ) ) {
$options = $this->sort_array_by_array( $options, $field_escaped_value );
}
} else {
$options = [];
}
$selected_items = "";
$other_items = "";

	foreach ( $options as $option_value => $option_label ) {

		// Clone args & modify for just this item
		$option = array(
			'value' => $option_value,
			'label' => $option_label,
		);

		// Split options into those which are selected and the rest
		if ( in_array( $option_value, (array) $field_escaped_value ) ) {
			$option['checked'] = true;
			$selected_items .= $field_type_object->select_option( $option );
		} else {
			$other_items .= $field_type_object->select_option( $option );
		}
	}

	return $selected_items . $other_items;
}`

Annotazione 2023-03-22 111735

@danimog
Copy link

danimog commented Mar 22, 2023

ciao, così viene ripristinato.
Resta escluso, nel mio caso, la sezione Argomenti dove segnala sempre errore.

grazie @abmcr per il codice

@fabricius4
Copy link
Contributor

Immagine2

@abmcr
Copy link
Contributor

abmcr commented Mar 22, 2023

danimog

Argomenti .. dentro quale menu? io ho provato dentro Servizi->Argomenti ma non ho alcun errore

@danimog

@danimog
Copy link

danimog commented Mar 22, 2023

Configurazione -> Argomenti
Cattura

@abmcr
Copy link
Contributor

abmcr commented Mar 22, 2023

image
ma..... io vedo cosi

Attiva il debug nel wp-config.... cosi vediamo l'errore....

Non capisco perché io veda diverso

Se vuoi ti mando in privato un accesso al sito dove sto facendo le prove

@guidobuldrighini
Copy link

Applicando la modifica di @abmcr

Sezione Home Page:

Immagine 2023-03-22 114125

Sezione Servizi:

Immagine 2023-03-22 114155

Sezione Documenti e dati:

Immagine 2023-03-22 114216

Sezione Argomenti:

Immagine 2023-03-22 114234

@abmcr
Copy link
Contributor

abmcr commented Mar 22, 2023

@guidobuldrighini ti ho mandato una email (trovata sulla tua pagina github) con un accesso cosi verifichiamo

@abmcr
Copy link
Contributor

abmcr commented Mar 22, 2023

@danimog se mi contatti in privato ti mando un accesso.. ho provato a scriverti usando la email trovata nel tuo sito ma torna indietro con un errore...

@danimog
Copy link

danimog commented Mar 22, 2023

@abmcr aggiornato contatti..
nonostante abbia attivato il wp-debug non riesco a far uscire l'errore..
ho installazione su server linux ma wordpress e mysql girano su docker...
grazie

@guidobuldrighini
Copy link

Attivando il debug ottengo i seguenti errori:

  1. homepage prima sezione:

homepage_1

  1. homepage sezione finale:

homepage_2

  1. argomenti:

argomenti

danimog referenced this issue Mar 22, 2023
Co-authored-by: Marian.Tanase <marian.tanase@datamanagementitalia.it>
@danimog
Copy link

danimog commented Mar 22, 2023

ciao, ho richiesto come mai nel fix della 1.6.1 sono stati invertiti i parametri nella funzione che causa gli errori:
public function get_pw_multiselect_options(....
modificando l'ordine dei parametri della funzione e rimettendoli come nella versione 1.6.0 gli argomenti vengono caricati correttamente nella multiselect.
La funzione per me funzionante è quindi:
public function get_pw_multiselect_options( $field_escaped_value = array(), $field_type_object ) {

p.s. non serve poi modificare il resto come nel codice di @abmcr ma solo questi due parametri

@fabricius4
Copy link
Contributor

ciao, ho richiesto come mai nel fix della 1.6.1 sono stati invertiti i parametri nella funzione che causa gli errori: public function get_pw_multiselect_options(.... modificando l'ordine dei parametri della funzione e rimettendoli come nella versione 1.6.0 gli argomenti vengono caricati correttamente nella multiselect. La funzione per me funzionante è quindi: public function get_pw_multiselect_options( $field_escaped_value = array(), $field_type_object ) {

p.s. non serve poi modificare il resto come nel codice di @abmcr ma solo questi due parametri

confermo quanto sopra

@fabricius4
Copy link
Contributor

ho notato che da errore nel caricamento della sezione mappa in fase di creazione di un "luogo"
Immagine

@abmcr
Copy link
Contributor

abmcr commented Mar 23, 2023

Esatto @fabricius4

Segnalato qui
#205

@danimog
Copy link

danimog commented Mar 23, 2023

ciao, è un po' la stessa cosa di quanto riportato sopra..
nel fix 1.6.1 sono stati invertiti i parametri alla riga 140 del file cmb-field-leaflet-map.php
1.6.1 ---> protected function render_input( CMB2_Field $field, $field_escaped_value, CMB2_Types $field_type_object, $field_name = '' ) {
1.6.0. ---> protected function render_input($field_name = '', CMB2_Field $field, $field_escaped_value, CMB2_Types $field_type_object ) {

Questa modifica (quindi riportando il codice come nella 1.6.0) nel mio caso funziona.

Resta da capire perchè sia stato il fix invertendo i parametri. Chiederei a @mariantanase. grazie!

@mariantanase
Copy link
Contributor

Li avevo eliminati dalla PR quei file modificati che portavano dei warning. Non capisco.
Comunque adesso ripristinati con #209

@danimog
Copy link

danimog commented Mar 23, 2023

Grazie!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants