Care este modalitatea corectă de a adăuga un favicon în WordPress fără plugin?
Care este modalitatea corectă de a adăuga un favicon în WordPress fără plugin?
Este suficient să plasez un fișier numit favicon.ico
cu iconița mea în directorul rădăcină al site-ului?
Am nevoie și de acest cod?
<link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/x-icon" />
Unii spun că este acest cod:
<link rel="icon" type="image/png" href="http://yourblog.com/favicon.png" />
Iar acesta este pentru iPhone-uri?
<link rel="apple-touch-icon" href="/customIcon.png" />
Aveți sugestii despre software pentru a crea sau converti dintr-o miniatură? Și ce tipuri de fișiere sunt acceptate - doar .ico
?
Am văzut un alt thread cu foarte multe metode și nu mi-a fost clar care este cea mai bună practică pentru această sarcină simplă: Cum să schimbi favicon-ul WordPress?

De obicei plasez iconițele într-un folder images din cadrul temei mele, așa că aș folosi:
function kia_add_favicon(){ ?>
<!-- Favicon personalizat -->
<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');
editat: pentru a adăuga iconița apple touch conform comentariului și pentru a clarifica că dacă utilizați o temă copil, dar favicon-ul se află în folderul images al temei părinte, ați folosi
get_template_directory_url();
dacă nu utilizați o temă copil, atunci oricare dintre ele va funcționa
Eu de obicei creez favicon-urile aici: http://tools.dynamicdrive.com/favicon/

În cazul unei teme copil, nu ar fi mai bine să folosești get_template_directory_uri
? Ca răspuns la întrebarea inițială, am adăugat o pictogramă Apple de 114x114px astfel: <link rel="apple-touch-icon" href="<?php echo get_template_directory_uri(); ?>/apple-touch-icon.png">
. Există și mult mai multă documentație despre adăugarea favicoanelor și pictogramelor Apple aici: https://github.com/h5bp/html5-boilerplate

Cred că html5bp s-a îndepărtat de adăugarea lor în header. Dacă pui pictogramele cu numele corect în rădăcina site-ului, majoritatea browserelor le vor găsi automat. Dar pentru a răspunde la întrebarea ta, temă copil versus părinte... depinde de fapt unde păstrezi imaginea favicon. get_template_directory_uri() obține URL-ul temei părinte, în timp ce stylesheet_directory_uri() obține URL-ul copilului DACA este o temă copil SAU URL-ul părintelui dacă este tema activată.

Ai dreptate. Le-am amestecat pe amândouă... html5bp le-a într-adevăr eliminat din header, dar încă există o documentație grozavă în sursă (în special despre pictogramele Apple) mathiasbynens.be/notes/touch-icons

De fapt, metoda corectă de a adăuga un favicon este prin intermediul unui Plugin, astfel încât favicon-ul adăugat să nu fie dependent de Temă. În esență, folosește metoda lui @helgatheviking, dar plasează-o într-un Plugin personalizat, în loc să o pui în fișierul functions.php
al Temei tale.
Notă: dacă folosești un domeniu de nivel superior, adică example.com
, pur și simplu plasează favicon.ico
în rădăcina documentului și ai terminat. Pentru orice altceva, creează un Plugin personalizat.
Notă 2: Consultă Trac Ticket #16434. O opțiune pentru favicon-ul site-ului este adăugată în nucleu, iar prima versiune a acesteia sperăm să fie inclusă în viitoarea versiune 3.4.

într-o zi trebuie să folosesc fragmentul de cod al lui Otto. din fericire, oamenii nu își schimbă tema zilnic, dar sunt complet de acord că faviconurile (și tipurile de articole, etc.) nu ar trebui să depindă de temă. aștept cu nerăbdare să fie integrat în nucleu.

Mult va depinde de tema pe care o folosești. Dacă tema definește favicon-ul tău (cu un tag <link>
în header), atunci va trebui să înlocuiești favicon.ico
în tema ta pentru a-l schimba.
Dar dacă tema ta nu definește nimic, plasând un fișier favicon.ico
în rădăcina site-ului tău ar trebui să fie suficient.

Ai răbdare, nucleul este acolo pentru ajutor
Acesta este un feature planificat, cu doi dezvoltatori de nucleu asignați, care va veni cu versiunea 3.4.
