Como crear paginas nuevas de perfil de usuario en Buddypress y WordPress

Visitas: 348  
Tiempo total: 6 días con 2:47:23 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.

buddypress

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:

buddypress plugin

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.

wordpress

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]


Para recibir boletines de información, por favor escribe tu correo electrónico:

Por favor ingrese un correo electrónico valido.
Registrado correctamente!