Ayer descubrí que desde la última actualización había perdido mis smilies personalizados, a juego con mi tema. Buscando por aquí sólo aparecía esta otra entrada, así que a currar …
Para el que le interese que cada vez que se actualice WordPress no se pierdan sus smilies personales dejo mi solución.
Primero creo una carpeta “smilies” en la carpeta wp-content porque esta última carpeta no sufre actualizaciones.
En el fichero del tema /wp-content/themes/NOMBREdelTEMA/functions.php creo una función para las entradas y otra para los comentarios.
Para entradas
function mis_smilies1($text) {
$text = str_replace('wp-includes/images/smilies/icon_','wp-content/smilies/icon_', $text);
return $text;
}
add_filter('the_content', 'mis_smilies1');
Para los comentarios
function mis_smilies($text) {
$text=convert_smilies( convert_smilies( $text) );
$text = str_replace('wp-includes/images/smilies/icon_','wp-content/smilies/icon_', $text);
return $text;
}
add_filter('comment_text', 'mis_smilies');
Explicaciones:
La función principal sería str_replace() que cambiará la URL original(wp-includes/images/smilies/) por la de la carpeta de mis smilies(wp-content/smilies/). En las entradas sólo hace eso. En los comentarios primero tengo que convertir los códigos de smilies en imágenes y eso lo hace WordPress con la función convert_smilies() como me fallaba el código 8) repito la conversión y después cambio de carpeta.
Con estas funciones podríamos tener distintos smilies para cada tema (editando su fichero functions.php) y/o ser distintos los de las entradas y los de los comentarios (cambiando de carpeta).
Espero que le sirva a alguien. Las categorias y los TAGs que los elija otro 8) .