Come specificare il percorso di un'immagine nell'editor di pagine WordPress?
Ho un file immagine memorizzato nella directory del tema chiamata "site".
Ora nella mia home page, usando l'editor di pagine di WordPress, ho inserito il seguente codice ma non mostra l'immagine, sembra che il percorso sia sbagliato.
<img src="site/images/footLogo.png" style="padding: 0px!important; color:white">
Potete dirmi qual è il problema?

URL assoluti
Come altri hanno detto, devi utilizzare l'URL completo per l'attributo src
della tua immagine, altrimenti il browser non sarà in grado di trovarla.
WordPress fornisce la funzione get_template_directory_uri()
che restituisce l'URL completo del percorso del tuo tema.
Quindi, facendo:
<?php
$img_src = get_template_directory_uri() . '/site/images/footLogo.png';
?>
<img src="<?php echo $img_src ?>" style="padding: 0px!important; color:white">
la tua immagine verrà visualizzata, assumendo che il percorso sia corretto e che il file esista.
Funzione helper
Se hai più immagini e vuoi semplificare il processo di visualizzazione nei template, puoi creare una funzione personalizzata che incapsula get_template_directory_uri()
.
Ad esempio:
function theme_image( $image ) {
return get_template_directory_uri() . '/site/images/' . $image;
}
e poi nei template fai:
<img src="<?php echo theme_image('footLogo.png') ?>"
style="padding: 0px!important; color:white">
WordPress 4.7+ e "fallback del tema genitore"
Se utilizzi codice WP 4.7+, avrai accesso alla nuova funzione get_theme_file_uri()
.
Il vantaggio di questa funzione rispetto a get_template_directory_uri()
è che carica automaticamente il file dal tema figlio se disponibile.
Quindi, ad esempio, se modifichi la funzione theme_image()
in:
function theme_image( $image ) {
return get_theme_file_uri( '/site/images/' . $image );
}
quando fai theme_image('footLogo.png')
l'immagine 'footLogo.png'
verrà caricata dal tema figlio, se il tema figlio è in uso e il file è disponibile lì, altrimenti verrà caricata dal tema genitore.
Questa nuova funzionalità fornisce un "fallback del tema genitore" che si abbina al "template parent theme fallback" dai temi genitore ai temi figlio presente fin da WP 3.0 attraverso funzioni come get_template_part()
.

Puoi definire una costante nel file delle funzioni del tema in questo modo:
if( !defined(THEME_IMG_PATH)){
define( 'THEME_IMG_PATH', get_stylesheet_directory_uri() . '/site/images' );
}
e poi puoi utilizzare il tag img così
<img src="<?php echo THEME_IMG_PATH; ?>/footLogo.png" style="padding: 0px!important; color:white">
