• Hola; mi instalación es Multisitios
    Quisiera saber si existe alguna forma de hacer que los usuarios que se registren en cualquiera de mis subsitios (los cuales están alojados en subcarpetas o subdirectorios) se creen también en todos los sitios de la Red.

    Estoy construyendo una web de alojamientos, inicialmente con 4 subsitios, donde los usuarios se registran y suben información o compran en la tienda, pero le quiero adicionar un sistema de afiliados, usando un plugins para ello, el plugin tiene la opción para configurar que cada usuario que se registre lo convierta automáticamente en afiliado, pero actualmente solo lo agrega en el sitio o la tienda en la que se registra, pero necesito que el USUARIO se agregue automáticamente a todos los subsitios de la RED,
    ¿Existe alguna forma (código) para lograr esto? es decir, que todo usuario que se registre en una tienda o subsitio también se agregue como usuario en todos los sitios.

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

Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
  • Hola @rafamed1208

    Sí que hay forma de hacerlo, por su puesto 🙂

    Puedes usar un plugin como https://wordpress.org/plugins/wp-multisite-user-sync/

    O crear una función personalizada que se ejecute cada vez que un nuevo usuario se registra en un sitio de tu red. Esta función debería crear un nuevo usuario con el mismo nombre de usuario, contraseña y correo electrónico en todos los demás sitios de la red y se ejecutaría en el sitio principal de la red.

    Podría ser algo así:

    function multisite_register_user($user_id, $user_object, $password) {
      // Obtener todos los sitios de la red
      $sites = get_sites();
    
      // Recorrer cada sitio
      foreach ($sites as $site) {
        // Si el usuario no existe en este sitio, crearlo
        if (!get_user_by('id', $user_id, $site['blog_id'])) {
          wpmu_create_user($user_object->user_login, $password, $user_object->user_email, array('first_name' => $user_object->user_firstname, 'last_name' => $user_object->user_lastname));
        }
      }
    }
    
    add_action('user_register', 'multisite_register_user', 10, 3);
    

    No he comprobado el funcionamiento de esta función. Es solo un ejemplo. Así que no copies y pegues el código sin más 🙂

    Y recuerda hacer una copia de seguridad antes de hacer cualquier cambio importante en tu sitio.

    Saludos.

    Iniciador del debate rafamed1208

    (@rafamed1208)

    Hola @jrberguill

    Gracias por responder tan pronto, estudiaré el plugins que me indicas, también intentaré con el código, copiando y pegando jejeje, ( no sé absolutamente nada de código o programación, pero usaré el plugin Code Snippets a ver SI tu función funciona.

    Con el plugin que me indicas, wp multisite user sync tengo algunas reservas porque leí que no funciona con otros plugins, yo estoy usando Ultimate Affiliate Pro y no sé si este esté incluido en la lista de plugins incompatibles,

    De todas formas estudiaré, probaré y te cuento, MUCHAS GRACIAS

    • Esta respuesta fue modificada hace 2 meses, 1 semana por rafamed1208.

    Hola.

    Haz las pruebas en una copia de tu sitio. Hoy en día la mayoría de los servicios de alojamiento permiten hacer una copia en staging del mismo.

    Así, una vez que veas que todo funciona, ya puedes implementarlo en la web en producción.

    Y recuerda hacer copia de seguridad del sitio antes de hacer cambios. Soy pesado en esto pero te salva la web jejeje.

    Iniciador del debate rafamed1208

    (@rafamed1208)

    Saludos, @jrberguill

    Instale el plugins que me indicaste, wp multisite user sync, en la versión gratis y NO funcionó, no sucede nada cuando se activa y se configura, Investigué por varias horas leyendo comentarios y la documentación del plugin e hice una consulta antes de comprar la versión Pro y tan solo me respondieron, «NO gracias, no funciona con otros complementos».
    Luego copie y pegué tu función, la cual me indicaste que no copiara y pegara jajaja, y tampoco me funcionó, no pasó nada.

    Si tú o alguien más, me pudiera ayudar, estaría muy agradecido, creo que por tu respuesta inicial esto no debe ser algo tan complicado, para el que sabe, el problema es que cualquier ayuda para mí debe ser muy específica y clara, como quien le enseña a un niño jejeje; si se trata de una función lo único que sé hacer es copiar y pegar en el plugins Code Snippets,
    No sé qué tan grande sería el abuso de mi parte si pido que esa función pudiera agregar los usuarios automáticamente en toda la red con el Rol de Colaborador como predeterminado, ya que en las instalaciones normales de wordpress se puede elegir el Rol por defecto de los nuevos usuarios, pero en esta instalación multisitio, No veo cómo hacerlo.

    Hola.

    Lo que pides necesita que se estudie en tu caso en particular. Así que mucho me temo que, si no sabes hacerlo, tendrás que contratar a alguien para que lo haga.

    Saludos.

    Iniciador del debate rafamed1208

    (@rafamed1208)

    Bueno (@jrberguill) agradezco mucho tu colaboración; sin embargo,  pienso que es algo que debería estar implementado en  wordpres de forma predeterminada en una instalación multisitios, HACER QUE LOS USUARIOS  QUE SE REGISTREN EN UNO DE LOS SITIOS DE LA RED, se agreguen automáticamente  a todos los demás sitios de esa misma red, o por lo menos debería ser algo no tan difícil de implementar a través de una función, nuevamente Gracias por tu aporte,  dejaré este  debate abierto hasta que  alguien que ya conozca  en profundidad el tema participe y ojalá  brinde  una solución que nos sirva a todos los usuarios de un Multisitio,  es el único lunar negro que le veo a una instalación multisitio, ya que por lo demás está muy bien documentado y es EXCELENTE.

Viendo 6 respuestas - de la 1 a la 6 (de un total de 6)
  • Debes estar registrado para responder a este debate.