Come creare un evento onclick su un'immagine in un post?
Questo è come dovrebbe essere:
<img onclick="og_load();" style="cursor: pointer;" src="wp-content/uploads/2018/04/downloadnow1.png" alt="" width="455" height="116">
Ma continua a trasformarsi in:
<img style="cursor: pointer;" src="/wp-content/uploads/2018/04/downloadnow1.png" alt="" width="455" height="116" />
Suppongo che qualcosa debba essere aggiunto nel functions.php ma la soluzione è al di sopra delle mie conoscenze, qualcuno potrebbe darmi una mano?
Grazie.
Modifica: Hmm ho letto domande leggermente diverse ma tutte indicavano che ha qualcosa a che fare con l'editor di testo di WP.
E il codice serve per chiamare un content locker il cui script ho aggiunto al tag head.
In un sito statico sono già riuscito a farlo funzionare ma poiché l'editor continua a modificare il codice non chiamerà il locker.
Ho provato questo per rimuovere la limitazione dei tag
Metodo 1: Disabilitare il filtro WordPress dei tag script
Se ti fidi che i tuoi autori non si metteranno nei guai, puoi disabilitare il blocco dei tag script all'interno di JavaScript. Nel file wp-config.php all'interno della directory root del web, dovrai abilitare i tag personalizzati aggiungendo la seguente riga di codice:
define( 'CUSTOM_TAGS', true );
All'interno della tua pagina functions.php, puoi aggiungere il seguente codice:
function add_scriptfilter( $string ) { global $allowedtags; $allowedtags['script'] = array( 'src' => array () ); return $string; } add_filter( 'pre_kses', 'add_scriptfilter' );
Sfortunatamente questo ha generato questo errore:
Warning: in_array() expects parameter 2 to be array, null given in /home/a7480/public_html/wp-includes/kses.php on line 1416
E per chiarire è un'immagine in un post che quando cliccata deve chiamare il content locker.
Aggiornamento:
Ok questo è strano, quando sostituisco l'URL dell'immagine in "ispeziona elemento" con
<img onclick="og_load();" style="cursor: pointer;" src="wp-content/uploads/2018/04/downloadnow1.png" alt="" width="455" height="116">
Funziona...
Ora devo scoprire come farlo funzionare effettivamente.
Ultimo Aggiornamento: Santa madre di Dio finalmente sono riuscito a farlo funzionare, l'unica cosa che fa schifo è che se passo all'editor visuale rimuove il codice.

Senza specifiche, in generale, il codice della pagina che viene visualizzato è generato dal codice del tuo tema. Quindi dovresti esaminare il template del tema utilizzato per quella pagina.
Il template utilizzato è determinato dalla Gerarchia dei Template di WordPress, i dettagli sono qui: https://developer.wordpress.org/themes/basics/template-hierarchy/ ; dai un'occhiata alla grafica che ti aiuterà a capire quale template viene utilizzato.
Poi, esamina quel file template per trovare cosa sta generando il tag 'img'. Ci vorrà un po' di ricerca. Una volta trovato quel codice, pubblicalo qui per ottenere ulteriore aiuto.
È anche possibile utilizzare l'oggetto DOM per modificare tutti i tag 'img' con un po' di Javascript, ma questo influenzerà tutti i tag 'img', il che potrebbe non essere quello che vuoi. Ci sono molti tutorial su come farlo.
Ma senza maggiori dettagli sul codice che genera il tag 'img', è difficile darti una risposta definitiva. Il processo sopra descritto ti aiuterà a capire qual è quel codice.
Aggiunto
Ecco del codice che modificherà l'attributo 'class' in un oggetto DOM:
function fix_img_tag() {
$dom = new DOMDocument;
libxml_use_internal_errors(false); // sopprime gli errori
$dom->loadHTML($html, LIBXML_NOERROR); // sopprime gli errori
// img = cambia la classe in myclass (rimuovendo qualsiasi altra dichiarazione di classe)
foreach ($dom->getElementsByTagName('img') as $node) {
$node->setattribute('class','myclass');
$dom->saveHtml($node) ;
}
$html = $dom->saveHTML(); // salva l'oggetto (tutto l'html) così possiamo restituirlo
return $html;
}
Basandoti su quel codice e sull'oggetto DOM stesso, dovresti essere in grado di capire come aggiungere l'elemento onclick al tag img. Nota che il codice sopra modificherà tutti i tag img.
Poi devi solo capire come aggiungere la funzione al filtro the_content()... suggerimento: https://codex.wordpress.org/Plugin_API/Filter_Reference/the_content
DOM è una cosa interessante da conoscere. Ci sono molte cose che puoi fare con l'oggetto DOM.
(Nota che ti sto dando indicazioni su come imparare a svolgere il compito e implementarlo. È bene imparare le cose.)

A me sembrava più che il <img>
fosse nel contenuto del post. Quindi la parte sulla gerarchia dei template non è rilevante.

Non è chiaro a cosa si riferisca l'OP. Io l'ho interpretato come un problema con il template del tema. Tu no. Non è un buon motivo per votare negativamente la mia risposta, secondo me, soprattutto considerando che nel paragrafo conclusivo ho detto che servono maggiori informazioni.

Allora forse questo ti aiuterà: https://www.sitepoint.com/wordpress-change-img-tag-html/, che mostra come aggiungere un filtro per modificare il tag img. Questo post https://wordpress.stackexchange.com/questions/81522/change-html-structure-of-all-img-tags-in-wordpress ti darà un'idea su come usare l'oggetto DOM per modificare tutti i tag img aggiungendo l'evento on-click. Dipende da quando vuoi aggiungere quel parametro onclick al tag img; al momento del 'salvataggio' del post o della 'visualizzazione'. Personalmente userei l'oggetto DOM, visto che sembra tu voglia aggiungere quella funzione a tutti i tag img.
