Un utente ha chiesto informazioni su Elementor Website Builder di Wordpress

Gli iframe non vengono visualizzati sul sito live

Un utente ha chiesto 👇

Ho uno strano evento che sta accadendo … questa pagina web dovrebbe avere quattro sezioni di iframe – http://lifekshop.beatswebdesign.com/policies

.. ma ne mostra solo due. Vengono visualizzati tutti e quattro nel generatore di elementi, ma l’impostazione live ne mostra solo due. Ho svuotato la cache, provato i browser in incognito su altri computer e ancora li visualizzo in questo modo.

Ho anche provato a creare una pagina completamente nuova per ricostruirla, ma mostra ancora la stessa cosa. Sono confuso per quanto possa essere. Apprezzeremmo qualsiasi aiuto

(@ josiah-s-carberry)

1 anno, 9 mesi fa

Non sono una persona di supporto di Elementor, quindi puoi dare i miei commenti su di loro.

Ho visto molti commenti simili di recente, non solo su Elementor. Penso che WordPress abbia recentemente iniziato a fare molta pressione sugli sviluppatori di plug-in per chiudere alcune falle di sicurezza. Una delle scappatoie è la capacità di utilizzare determinati tag html e argomenti di tag che possono rappresentare un rischio per la sicurezza. iframe è uno di questi. Quindi quello che succede è che gli editor possono rimuovere i tag che aggiungi che non sono esplicitamente abilitati. Non so se è il caso dei vari widget di modifica del testo di Elementor.

Quello che so è che WordPress ha almeno un filtro definito, wp_kses_allowed_html, che può essere utilizzato con almeno alcuni editor di testo. Ecco un esempio. Non so se appartiene a Elementor. In caso contrario, potrebbe esserci un altro gancio che potrebbe essere utilizzato. Comunque, dà un’idea del problema

function custom_wpkses_post_tags( $tags, $context ) {

	if ( 'post' === $context ) {
		$tags['iframe'] = array(
			'src'             => true,
			'height'          => true,
			'width'           => true,
			'frameborder'     => true,
			'allowfullscreen' => true,
		);
	}

	return $tags;
}

add_filter( 'wp_kses_allowed_html', 'custom_wpkses_post_tags', 10, 2 );

Quindi questo codice, inserito in functions.php, dice che l’editor consentirà il tag iframe e qualsiasi ‘src’, ‘height’, ‘width’, ‘frameborder’ o ‘Use’ allowfullscreen ‘. Se utilizzi iframe con altri argomenti, l’editor rimuoverà l’intero tag. Questo tipo di comportamento può spiegare ciò che stai vedendo.

Gli editor di plugin di illuminazione ti permetteranno di configurare il plugin per consentire tag aggiuntivi, invece di usare la logica della scheda in functions.php. Ovviamente, dovrebbero dire che abiliti tag e argomenti a tuo rischio.

Mi scuso se questo non si applica al tuo problema, ma potrebbe darti un’idea di come procedere.

(@sbeat)

1 anno, 9 mesi fa

Grazie per la tua rapida risposta! Ho inserito questo codice nelle funzioni my.php, ma sfortunatamente non funziona. Mi è capitato di trovare un plugin che ti permette di usare iframe nelle scorciatoie e ha fatto il trucco. Grazie per il tuo apprezzatissimo aiuto!

(@ josiah-s-carberry)

1 anno, 9 mesi fa

Non mi aspettavo che il mio codice fosse utilizzabile così com’è. Ad ogni modo, quale plugin stai usando per risolvere il problema?

Avverto ripetutamente che l’approvazione dei tag iframe è un potenziale rischio per la sicurezza. Se possibile, prova a configurare le cose in modo da poter utilizzare solo quel tag, ma non i visitatori che lasciano un commento.

(@sbeat)

1 anno, 9 mesi fa

Oh ok, mi dispiace di non aver notato che l’hai usato come esempio. Ecco il plugin che sto usando: https://wordpress.org/plugins/iframe/

(@ pingram3541)

1 anno, 9 mesi fa

Ho sempre usato l’elemento HTML Elementor per incorporare iframe e non ho mai avuto alcuna query o striscia di codice. Per sicurezza, tutti i browser moderni fanno un buon lavoro nel bloccare l’accesso ai dati tra domini tramite CORS (Cross-Source Resource Sharing – https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) Buona fortuna, ciao!

Was this helpful?

0 / 0

Lascia un commento 0

Your email address will not be published. Required fields are marked *