¿Cuál es la forma correcta de añadir un favicon en WordPress sin un plugin?
¿Cuál es la forma correcta de añadir un favicon en WordPress sin un plugin?
¿Simplemente coloco un archivo llamado favicon.ico
con mi icono en la raíz de mi sitio?
¿También necesito este código?
<link rel="shortcut icon" href="http://example.com/favicon.ico" type="image/x-icon" />
Algunos dicen que es este código:
<link rel="icon" type="image/png" href="http://yourblog.com/favicon.png" />
¿Y esto es para iPhones?
<link rel="apple-touch-icon" href="/customIcon.png" />
¿Alguna sugerencia sobre software para crearlo o para convertirlo desde una miniatura? ¿Y qué tipos de archivos son compatibles - solo .ico
?
Vi otro hilo con tantos métodos y no me quedó claro cuál es la mejor práctica para esta tarea simple: ¿Cómo cambiar el favicon de WordPress?

Suelo colocar los iconos en una carpeta de imágenes dentro de mi tema, así que usaría:
function kia_add_favicon(){ ?>
<!-- Favicons personalizados -->
<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');
Editado: para agregar el icono apple touch según el comentario, y aclarar que si estás usando un tema hijo pero el favicon está en la carpeta de imágenes del tema padre, deberías usar:
get_template_directory_url();
Si no estás usando un tema hijo, cualquiera de los dos funcionará.
Normalmente creo mis favicons aquí: http://tools.dynamicdrive.com/favicon/

En el caso de un tema hijo, ¿no sería mejor usar get_template_directory_uri
? En respuesta a la pregunta original, he añadido un icono Apple de 114x114px así: <link rel="apple-touch-icon" href="<?php echo get_template_directory_uri(); ?>/apple-touch-icon.png">
. También hay mucha más documentación sobre cómo añadir favicons e iconos Apple aquí: https://github.com/h5bp/html5-boilerplate

Creo que html5bp ha dejado de añadirlos en el encabezado. Si colocas los iconos con los nombres correctos en la raíz del sitio, la mayoría de los navegadores los encontrarán automáticamente. Pero para responder a tu pregunta, tema hijo versus padre... en realidad depende de dónde guardes la imagen del favicon. get_template_directory_uri() obtiene la URL del tema padre, mientras que stylesheet_directory_uri() obtiene la URL del hijo SI es un tema hijo O la URL del padre si es el tema activado.

Tienes razón. Los he confundido... html5bp efectivamente los ha eliminado del encabezado, pero todavía hay buena documentación en el código fuente (principalmente sobre los iconos Apple) mathiasbynens.be/notes/touch-icons

En realidad, el método correcto para añadir un favicon es mediante un Plugin, para que el favicon añadido no dependa del Tema. Básicamente, usa el método de @helgatheviking, pero colócalo en un Plugin personalizado, en lugar de en el archivo functions.php
de tu Tema.
Nota: si estás usando un dominio de primer nivel, es decir, example.com
, simplemente coloca favicon.ico
en la raíz del documento y listo. Para cualquier otro caso, crea un Plugin personalizado.
Nota 2: Consulta el Tiquete Trac #16434. Una opción para el favicon del sitio se está añadiendo al núcleo, con suerte la primera versión llegará en la próxima versión 3.4.

uno de estos días necesito usar el fragmento de código de otto. afortunadamente la gente no cambia su tema a diario, pero estoy completamente de acuerdo en que los favicons (y los tipos de publicaciones, etc.) no deberían depender del tema. estoy deseando que esto llegue al núcleo.

Mucho dependerá del tema que estés utilizando. Si el tema está definiendo tu favicon (con una etiqueta <link>
en el encabezado), entonces necesitarás reemplazar favicon.ico
en tu tema para cambiarlo.
Pero si tu tema no está definiendo nada, colocar un favicon.ico
en la raíz de tu sitio debería ser suficiente.

Sé paciente, el núcleo está ahí para ayudar
Esta es una característica planificada, con dos desarrolladores principales asignados, que llegará con la versión 3.4.
