Qual è il modo corretto di aggiungere una favicon in WordPress senza plugin?
Qual è il modo corretto di aggiungere una favicon in WordPress senza plugin?
Devo semplicemente inserire un file chiamato favicon.ico
con la mia icona nella root del mio sito?
Ho bisogno anche di questo codice?
<link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/x-icon" />
Alcuni dicono che il codice è questo:
<link rel="icon" type="image/png" href="http://yourblog.com/favicon.png" />
E questo è per iPhone?
<link rel="apple-touch-icon" href="/customIcon.png" />
Avete suggerimenti su software per crearla o per convertirla da una miniatura? E quali tipi di file sono supportati - solo .ico
?
Ho visto un'altra discussione con così tanti metodi e non mi era chiaro quale fosse la migliore pratica per questo semplice compito: Come cambiare la favicon di WordPress?

Di solito inserisco le icone in una cartella images all'interno del mio tema, quindi utilizzerei:
function kia_add_favicon(){ ?>
<!-- Favicon personalizzati -->
<link rel="shortcut icon" href="<?php echo get_stylesheet_directory_uri();?>/images/favicon.ico"/>
<link rel="apple-touch-icon" href="<?php echo get_stylesheet_directory_uri(); ?>/apple-touch-icon.png">
<?php }
add_action('wp_head','kia_add_favicon');
Modificato: per aggiungere l'icona apple-touch come da commento, e per chiarire che se stai utilizzando un child theme ma il favicon si trova nella cartella images del tema genitore, dovresti usare:
get_template_directory_uri();
Se non stai usando un child theme, entrambe le funzioni funzioneranno.
Di solito creo i miei favicon qui: http://tools.dynamicdrive.com/favicon/

Nel caso di un child theme, non sarebbe meglio usare get_template_directory_uri
? In risposta alla domanda originale, ho aggiunto un'icona Apple 114x114px in questo modo: <link rel="apple-touch-icon" href="<?php echo get_template_directory_uri(); ?>/apple-touch-icon.png">
. C'è molta altra documentazione sull'aggiunta di favicon e icone Apple qui: https://github.com/h5bp/html5-boilerplate

Penso che html5bp si sia allontanato dall'aggiungerle nell'header. Se metti le icone con i nomi corretti nella root del sito, la maggior parte dei browser le troverà automaticamente. Ma per rispondere alla tua domanda, child theme rispetto al parent... in realtà dipende da dove memorizzi l'immagine del favicon. get_template_directory_uri() ottiene l'URL del tema parent, mentre stylesheet_directory_uri() ottiene l'URL del child SE è un child theme OPPURE l'URL del parent se è il tema attivato.

Hai ragione. Li ho confusi entrambi... html5bp li ha effettivamente rimossi dall'header, ma c'è ancora un'ottima documentazione nel sorgente (principalmente sulle icone Apple) mathiasbynens.be/notes/touch-icons

In realtà, il metodo corretto per aggiungere un favicon è tramite un Plugin, in modo che il favicon aggiunto non dipenda dal Tema. Fondamentalmente, utilizza il metodo di @helgatheviking, ma inseriscilo in un Plugin personalizzato, invece che nel file functions.php
del tuo Tema.
Nota: se stai utilizzando un dominio di primo livello, ad esempio example.com
, basta posizionare favicon.ico
nella root del documento ed è fatto. Per qualsiasi altra cosa, crea un Plugin personalizzato.
Nota 2: Fai riferimento al Ticket Trac #16434. Un'opzione per il favicon del sito verrà aggiunta al core, si spera che la prima versione sia inclusa nel prossimo rilascio 3.4.

uno di questi giorni dovrò usare lo snippet di otto. per fortuna le persone non cambiano tema quotidianamente, ma sono completamente d'accordo che i favicon (e i post type, ecc.) non dovrebbero dipendere dal tema. non vedo l'ora che questa funzionalità venga integrata nel core.

Molto dipenderà dal tema che stai utilizzando. Se il tema sta definendo il tuo favicon (con un tag <link>
nell'header), allora dovrai sostituire favicon.ico
nel tuo tema per modificarlo.
Ma se il tuo tema non sta definendo nulla, posizionare un favicon.ico
nella root del tuo sito dovrebbe essere sufficiente.

Sii paziente, il core è qui per aiutare
Questa è una funzionalità pianificata, con due sviluppatori core assegnati, che arriverà con la versione 3.4.
