Como crear paginas nuevas de perfil de usuario en Buddypress y WordPress
Tiempo total: 7 días con 18:57:17 hrs
El problema consiste en crear páginas de perfil de usuario propias de acuerdo a nuestros requerimientos. Buddypress cuenta con plantillas que muestran información especifica: activity, profile, friends, groups, fórums y photos entonces una de las preguntas es: por que crear más? Por ejemplo pueden servir para crear módulos con funcionalidades especificas que son requerimiento de la aplicación, por petición del cliente o por querer tener una versión totalmente en español cambiando profile a perfil, friends a amigos entre otros.
Agregando una nueva pagina
En este ejemplo cambiaremos la pagina de la plantilla buddypress profile por una propia, por ejemplo perfil. Para esto, observamos que el plugin instalado en WordPress tiene una carpeta de plantillas:
Para este ejemplo el código fuente que está en la carpeta plugin de buddypress no se tiene que editar, lo que se debe de hacer es copiar la carpeta:
members\single
De la dirección:
wp-content\plugins\buddypress\bp-themes\bp-default\
Y pegarla en la carpeta raíz del tema que estamos utilizando. En este caso copie únicamente el archivo home.php y cree uno nuevo llamado perfil.php.
Agregar pagina perfil
En el archivo de funciones del tema de WordPress que estamos utilizando, solo agregamos el siguiente código:
function my_bp_nav_adder(){ bp_core_new_nav_item( array( 'name' => __('Perfil', 'buddypress'), 'slug' => 'perfil', 'position' => 75, 'show_for_displayed_user' => true, 'screen_function' => 'bp_is_user_perfil', 'item_css_id' => 'perfil' ) ); } $members_page_now = "perfil"; function bp_is_user_wall () { global $members_page_now; $members_page_now = "perfil"; bp_core_load_template( apply_filters( 'bp_core_template_plugin', 'members/single/perfil' ) ); } add_action( 'bp_setup_nav', 'my_bp_nav_adder', 100 );
Ahora, recordamos que la pagina por defecto de Buddypress para un perfil de usuario, es la siguiente:
$post_user = get_user_by( "id", "".bp_displayed_user_id()."" ); $profile = site_url()."/members/". $post_user->data->user_login."/perfil";
En mi experiencia con Buddypress y WordPress, desarrolle un tema utilizando las funciones más básicas de Buddypresss, construyendo las páginas que el cliente solicitaba y desarrollando funcionalidades específicas de una red social, por dicho motivo el archivo wp-content\themes\ejemplo\members\single\home.php quedo con el siguiente código:
$post_user = get_user_by( "id", "". bp_displayed_user_id."" ); $profile = site_url()."/members/". $post_user->data->user_login."/perfil"; header("Location: $profile");
Y a partir de este perfil, cree los enlaces hacia las demás páginas que estaban disponibles de acuerdo a la persona que se visita.
Conclusión
El objetivo de la publicación es el código de functions.php que debes de agregar para que Buddypress reconozca nuevas páginas de perfil, debo admitir que Buddypress es uno de los mejores plugins de redes sociales para WordPress, pero algunos trabajos más los requerimientos de los clientes hacen que Buddypress sea una librería que te ayuda y facilita la mayoría de las funcionalidades que se deben de desarrollar específicamente. En futuras publicaciones describiré mas detalles de lo que investigue y aprendí para poder dominar la herramienta, junto a algunos trucos de WordPress.
Referencias
[http://www.buddyboss.com/demo/buddyboss/members/guest/profile/]
[https://www.youtube.com/watch?v=j9oA9bpbxyU]
[http://webdevstudios.com/wp-content/uploads/2010/12/buddypress-logo1-1024×315.png]