Foros del Web » Creando para Internet » Sistemas de gestión de contenidos » WordPress »

Archivos que intervienen en el registro de usuarios en wpmu

Estas en el tema de Archivos que intervienen en el registro de usuarios en wpmu en el foro de WordPress en Foros del Web. Hola, He estado revisando, pero, como comprenderéis, con la cantidad de archivos que tiene el core de WordPress, es casi imposible encontrar nada si no ...
  #1 (permalink)  
Antiguo 05/03/2016, 15:02
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Archivos que intervienen en el registro de usuarios en wpmu

Hola,

He estado revisando, pero, como comprenderéis, con la cantidad de archivos que tiene el core de WordPress, es casi imposible encontrar nada si no se tiene una mínima idea de en qué archivo o archivos puede estar.

Bien, la cuestión es que necesito saber qué archivos intervienen en el registro de usuarios en WordPress Multiusuario, concretamente, el que graba en la base de datos las tablas correspondientes al "subsitio" y más concretamente, el que graba las "options".

Esto es porque necesito agregarle una "option" para que se grabe por defecto al crear un sitio nuevo.

No sé si alguien podrá echarme una mano con este asunto, pero estaré eternamente agradecido al que lo pueda hacer.
  #2 (permalink)  
Antiguo 05/03/2016, 21:00
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Respuesta: Archivos que intervienen en el registro de usuarios en wpmu

1. Nunca pero nunca debes modificar los archivos del core de WordPress, si modificas aunque sea un solo archivo quedaras estancado en esa versión de WordPress.

2. WordPress tiene cientos y cientos de hooks para que puedas agregar lo que necesites, en este caso necesitas agregar una opción cuando se crea un sitio, hay 2 hooks que puedes usar:

wpmu_new_blog
wpmu_create_blog

Estos hooks se deben agregar mediante Plugins de esta manera podrás seguir actualizando el core de WordPress sin perder los cambios hechos.

Aquí tienes la referencia del API que WordPress ofrece para trabajar con plugins https://codex.wordpress.org/Plugin_API
  #3 (permalink)  
Antiguo 06/03/2016, 03:45
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Archivos que intervienen en el registro de usuarios en wpmu

Hola TMeister,

Muchas gracias por responder, la información que me has pasado es muy interesante y completa.

Tienes razón en lo de tocar los archivos del core, pero como no he tocado apenas el código de WordPress, no sé cómo hacer para que, mediante un plugin que use un hook, añadir una entrada a la tabla correspondiente, no tengo ni idea, aún habiendo leído toda la documentación que me has pasado y alguna otra relacionada con el tema.

¿Me podrías pasar algún ejemplo? Muchas gracias de nuevo.
  #4 (permalink)  
Antiguo 06/03/2016, 05:26
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Archivos que intervienen en el registro de usuarios en wpmu

Hola de nuevo,

Como es normal, he seguido buscando y rebuscando, no termino de encontrar la solución, pero a ver si me puedes decir qué está bien, qué está mal y qué le faltaría a esto para que funcione, ya que no me fío de probarlo hasta no estar mínimamente seguro de lo que haga:

El código del plugin:

Código PHP:
Ver original
  1. <?php
  2. /*
  3. Plugin Name: Plugin para agregar opciones
  4. Description: Una descripción
  5. Author: El autor
  6. Version: 1.0.0
  7. */
  8.  
  9. add_action('wpmu_new_blog', 'agregar_options');
  10. function agregar_options(){
  11.         global $wpdb
  12.         $wpdb->insert( $wpdb->options, array(
  13.                         'option_name' => 'nombre_de_la_opcion',
  14.                         'option_value' => 'valor_de_la_opcion',
  15.                         'autoload' => 'yes' )
  16.                         );
  17. }
  18.  
  19. ?>

Hasta donde llego yo es que de esta forma agregará la opción en la tabla options pero del sitio principal, lo que sí sé que me falta y aún no encuentro cómo resolver es para que la inserción la haga en la tabla options del blog que se crea nuevo.

Espero que me puedas echar un cable, si mientras tanto, encuentro la solución, la postearé por aquí.

Muchas gracias de nuevo.
  #5 (permalink)  
Antiguo 06/03/2016, 07:03
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Archivos que intervienen en el registro de usuarios en wpmu

Hola otra vez,

Como se puede ver, voy a ciegas, a prueba y error, por eso es que pido ayuda, ahora he intentado esto y no da resultado:

Código PHP:
Ver original
  1. <?php
  2. /*
  3. Plugin Name: Plugin para agregar opciones
  4. Description: Una descripción
  5. Author: El autor
  6. Version: 1.0.0
  7. */
  8.  
  9. add_action('wpmu_new_blog', 'agregar_options');
  10. function agregar_options(){
  11.         global $wpdb;
  12.         $id_blog = get_current_site()->blog_id;
  13.         $table_prefix = $wpdb->get_blog_prefix();
  14.         $wpdb->insert( $table_prefix.$id_blog."_".$wpdb->options, array(
  15.                         'option_name' => 'nombre_de_la_opcion',
  16.                         'option_value' => 'valor_de_la_opcion',
  17.                         'autoload' => 'yes' )
  18.                         );
  19. }
  20.  
  21. ?>

Este sí lo he probado, por eso me he dado cuenta que en el anterior me había dejado el ";" después de global $wpdb, pero no sé qué es lo que tengo que hacer porque no funciona.

Espero a que me digas algo antes de seguir haciendo pruebas porque no consigo nada y es tontería hacer sin tener ni idea.

Gracias de nuevo por tu ayuda.
  #6 (permalink)  
Antiguo 06/03/2016, 12:55
Avatar de TMeister
Crazy Coder
 
Fecha de Ingreso: enero-2002
Ubicación: En la Oficina
Mensajes: 2.880
Antigüedad: 22 años, 10 meses
Puntos: 193
Respuesta: Archivos que intervienen en el registro de usuarios en wpmu

Como dije en un principio, WordPress nos provee con cientos y cientos de funciones que probablemente ya hacen algo que queremos hacer.

En tu caso para agregar una opción a un blog, ya existe la función add_blog_option

Tu hook quedaría de la siguiente manera:

Código PHP:
Ver original
  1. <?php
  2.  
  3. function my_custom_wpmu_option( $blog_id, $user_id, $domain, $path, $site_id, $meta ) {
  4.     add_blog_option( $blog_id, 'my_option', 'the value' );
  5. }
  6. add_action( 'wpmu_new_blog', 'my_custom_wpmu_option', 10, 6 );

No olvides que los hooks mandan parametros dentro del contexto de la función, es decir, si el hook es sobre crear un blog, seguramente el id del blog nuevo estará disponible en los parametros ver: https://codex.wordpress.org/Plugin_A...w_blog#Example
  #7 (permalink)  
Antiguo 11/03/2016, 00:32
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: Archivos que intervienen en el registro de usuarios en wpmu

Hola TMeister,

Muchas gracias de nuevo por tu respuesta, así hace exactamente lo que pretendía, pero no sirve igual que si agrego la opción desde el DBMS ¿Sabes por qué puede ser esto?

Y disculpa por tardar tanto a responderte, demasiados frentes abiertos...

Etiquetas: multiusuario
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:52.