Come specificare il percorso di un'immagine nell'editor di pagine WordPress?

15 gen 2017, 11:15:45
Visualizzazioni: 16K
Voti: 5

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?

0
Tutte le risposte alla domanda 4
0

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().

15 gen 2017 13:08:59
1

Non puoi utilizzare PHP nell'editor dei contenuti, scrivi semplicemente il percorso completo della tua immagine.

<img src="/css/_include/img/slider-images/1.jpg" alt="Immagine" data-fullwidthcentering="on">
18 gen 2017 20:27:56
Commenti

WordPress commenta il codice php scritto nell'editor.

MacInnis MacInnis
28 ago 2021 19:41:58
0

Dovrai copiare il percorso completo dell'immagine in questo modo:
http://www.tuo-sito.estensione/wp-content/themes/sito/images/footLogo.png nel tuo tag <img src="">.

WordPress funziona con URL assoluti.

15 gen 2017 11:37:48
0

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">
15 gen 2017 11:59:01