• Tengo un buddypress montado y tengo que el registro de buddypress se sincronice con el perfil de WordPress.
    Pues bien, cuando se registra una persona con un nombre compuesto, por ejemplo «Miguel Angel Rodríguez» en el momento rel registro, se rellena en first_name «Miguel» y en «last_name» Angel. Y el apellido no se guarda.

    ¿Alguna idea de porqué pasa esto? En los nombres simples, se guarda todo correctamente.

    Un saludo

    La página con la que necesito ayuda: [accede para ver el enlace]

Viendo 8 respuestas - de la 1 a la 8 (de un total de 8)
  • Moderador José Arcos

    (@josearcos)

    Hola, @amanda3ip. ¿Puedes comprobar qué valor tienes puesto como display_name? Es posible que sólo sea el first_name en vez del first_name + last_name.

    Un saludo.

    Iniciador del debate amanda3ip

    (@amanda3ip)

    Hola @josearcos , gracias por tu respuesta!
    No, lo del display name es correcto.
    El problema viene que en los campos de budypress se guardan correctamente.
    Tengo:
    Nombre: Amanda Maria
    Apellido: del Valle

    Pero cómo tengo la sincronización con WordPress, en el momento que esos datos se guardan en los campos de usuario de WordPress se guarda así:
    Nombre: Amanda
    Apellido: Maria

    Por lo que entiendo que el problema viene al guardar los datos en WordPress que no los recoge correctamente…

    Moderador José Arcos

    (@josearcos)

    ¿Qué plugins estás usando para sincronizar estos campos? ¿Sólo BuddyPress?

    Iniciador del debate amanda3ip

    (@amanda3ip)

    Sí, simplemente tengo activada la opción de «Habilitar sinscronizxación de BuddyPress a WordPress» en los settings de BudyPress.

    Yo diria que el error está en el código, en el fichero buddypress/bp-xprofile/bp-xprofile-functions.php, sobre la linia 780 encuentro esto:

    $fullname = xprofile_get_field_data( bp_xprofile_fullname_field_id(), $user_id );
    	$space    = strpos( $fullname, ' ' );
    
    	if ( false === $space ) {
    		$firstname = $fullname;
    		$lastname = '';
    	} else {
    		$firstname = substr( $fullname, 0, $space );
    		$lastname = trim( substr( $fullname, $space, strlen( $fullname ) ) );
    	}
    
    	bp_update_user_meta( $user_id, 'nickname',   $fullname  );
    	bp_update_user_meta( $user_id, 'first_name', $firstname );
    	bp_update_user_meta( $user_id, 'last_name',  $lastname  );
    
    	wp_update_user( array( 'ID' => $user_id, 'display_name' => $fullname ) );

    Me da la sensación que recoge el fullname y para guardar el nombre y el apellido lo separa cuando encuentra un espacio en blanco.
    para los nombres no compuestos perfecto, pero entonces, en los compuestos está el problema…

    Moderador José Arcos

    (@josearcos)

    @amanda3ip déjame instalarme BuddyPress en local y comprobar si me pasa en una instalación limpia, te mantengo informada.

    Iniciador del debate amanda3ip

    (@amanda3ip)

    @josearcos pudiste averiguar algo del tema que comentaba? gracias!

    Iniciador del debate amanda3ip

    (@amanda3ip)

    @josearcos vuelvo con este tema porque todavía no está resuelto.
    Me acabo de instalar el buddypress última versión con WordPress última versión y me da el mismo problema…
    Por lo que entiendo que es un bug del propio buddypress…

    Moderador José Arcos

    (@josearcos)

    Hola @amanda3ip.
    Disculpa la demora en contestar. Acabo de hacer algunas pruebas y el registro por defecto de BuddyPress no pone los campos First Name + Last Name, sino el Display Name. Entiendo que tendrás algún tema instalado, o plugin que use esos campos.
    ¿Podrías ir a la opción de Site Health de tu sitio y pegar aquí la info del sitio?
    Se encuentra en Tools -> Site Health -> Info -> Copy site info to clipboard.

    Gracias.

Viendo 8 respuestas - de la 1 a la 8 (de un total de 8)
  • El debate ‘Problema nombres compuestos’ está cerrado a nuevas respuestas.