Buddypress es un plugin de WordPress que permite convertirlo en una red social. El plugin está bastante bien, pero una cosa que no me gusta es cómo muestra la pantalla de opciones de tu perfil, dividiendola en distintas secciones: profile, general, … Por lo que tener una única pantalla de opciones es un dolor de cabeza, sobre todo porque cuando se guardan los datos de un grupo de opciones, hace un redirect por lo que no podemos continuar guardando datos.
Para poder solucionar esto hay que mirar qué grupos de opciones se ejecutan inicialmente, y ver que antes del redirect hay un action que deberemos tomar en cuenta:
add_action( 'bp_core_general_settings_after_save', 'iqn_more_settings_save');
function iqn_more_settings_save() {
global $bp;
// Guardar datos del profile
$bp->current_action = 'profile';
$_REQUEST['_wpnonce'] = $_REQUEST['_wpnonce_xprofile'];
bp_xprofile_action_settings();
}
En mi caso, inicialmente, se guardaba antes el general settings, por lo que en el action bp_core_general_settings_after_save lo que hago es llamar a la siguiente función que guarda los siguientes datos.
También es necesario que _wpnonce se modifique para que el formulario no falle por temas de seguridad, por lo que hay que añadir en nuestro formulario lo siguiente:
wp_nonce_field( 'bp_xprofile_settings', '_wpnonce_xprofile' );
Amigo muchas gracias por tus aportes…
En realidad que tienes muy buen ojo para elegir lo que publicas… de manera personal me sirvió mucho esta publicación
Me alegra que te haya servido 🙂
He intentado hacer esto desde ase tiempo, pero me atoro en algunas cosas aun usando traductor, por lo que ando buscando tutoriales en español. Si encuentras uno asi me ayudarias mucho.
Gracias