Añadir campos de contacto a los perfiles de WordPress
Si eres de los que piensan que AIM, Yahoo IM y GTalk son unos campos un tanto ridículos a estas alturas y quieres sustituirlos por algunos más actualizados como Twitter, Facebook, Flickr esta entrada te va a interesar.
Si entras en tu panel de administración (aka Dashboard) y pulsas en tu nick en la parte superior derecha, podrás ver la página para editar tu perfil.
En esta página veremos algo como lo siguiente:
Como veis, se muestran los campos que mencionaba en el comienzo de esta entrada, algo que para mí que ya no se utiliza o se podría modernizar con perfiles de redes sociales como Facebook o Twitter.
Tras sustituir los campos nos quedará algo como lo siguiente:
Para hacerlo deberemos editar la base de datos, además del tema activado de WordPress.
Es recomendable hacer un respaldo para evitar riesgos con el blog y, más que nada, por seguridad.
Cuando tengas tus respaldos hechos y bien guardados, es hora de ponerse a editar la base de datos.
Accede a tu phpMyAdmin y visualiza la tabla wp_usermeta (donde wp será el prefijo de tu tabla)
Esta opción nos permitirá introducir estos cambios manualmente; yo lo hice así porque solo lo apliqué a dos únicos usuarios.
Una vez estamos en esta tabla, tendremos que insertar una nueva fila, donde umeta_id lo dejaremos en blanco (es autonumérico y se inserta sólo), user_id será el ID del usuario al que queremos registrar el campo, meta_key será «twitter» o «facebook» dependiendo de lo que queramos introducir y meta_value será la terminación o usuario de Twitter o Facebook respectivamente.
Debería quedar algo así:
Ya tenemos los cambios en la base de dato hechos.
Ahora abrimos el fichero functions.php del tema que estemos utilizando.
Añadimos el siguiente código al final del fichero:
function add_remove_contactmethods( $contactmethods ) { unset($contactmethods['aim']); unset($contactmethods['yim']); unset($contactmethods['jabber']); $contactmethods['facebook'] = 'Facebook'; $contactmethods['twitter'] = 'Twitter'; $contactmethods['linkedin'] = 'LinkedIn'; return $contactmethods; } add_filter('user_contactmethods','add_remove_contactmethods',10,1); |
Los unset quitan los campos cuyo id está entre corchetes y comillas simples.
Con las asignaciones siguientes insertamos los nuevos campos.
Con esto ya nos saldrán los nuevos campos en la página de edición del perfil, pero vamos a ir más allá; vamos a ver cómo podemos sacar esa información en la página author.php.
Si queremos mostrar estos datos, podemos hacerlo con la funcion get_user_meta() que nos proporcionaWordPress.
Supongamos que queremos sacar un enlace con el nombre de usuario de Twitter precedido de @ y que enlace al perfil del usuario tal que así: @BalfeR.
Podemos hacerlo de la siguiente forma:
<a href="http://www.twitter.com/<?php the_author_meta('twitter'); ?>">@<?php the_author_meta('twitter'); ?></a> |