¿Cómo obtengo datos de usuario de una tabla personalizada en la base de datos de WordPress por ID de usuario?

2 jun 2017, 14:24:46
Vistas: 28.1K
Votos: 2

Tengo algunos campos de datos de usuario personalizados que requieren información de una tabla personalizada en la base de datos.

He intentado:

global $wpdb;

$table_name = $wpdb->prefix . "wplusersprofiles";

$user = $wpdb->get_results( "SELECT * FROM $table_name" );

y llamando a los datos así:

<tr>
    <th><label for="gender"><?php _e("Género"); ?></label></th>
    <td>
        <input type="text" name="gender" id="gender" value="<?php echo $user->gender ?>" class="regular-text" /><br />
    </td>
</tr>

Pero sin éxito.

Tabla de ejemplo en la BD: ejemplo de tabla de base de datos

0
Todas las respuestas a la pregunta 1
1
15

La primera sección de tu código es correcta

  global $wpdb;

  $table_name = $wpdb->prefix . "wplusersprofiles";

  $user = $wpdb->get_results( "SELECT * FROM $table_name" );

El problema está en la forma en que intentaste obtener los datos de las filas individuales. La función get_results en tu caso devuelve un array de objetos. Por lo tanto, la forma correcta de obtener los datos individuales debería ser...

<?php foreach ($user as $row){ ?>
<tr>
    <th><label for="gender"><?php _e("Género"); ?></label></th>
    <td>
        <input type="text" name="gender" id="gender" value="<?php echo $row->gender ?>" class="regular-text" /><br />
    </td>
</tr>
<?php } ?>
2 jun 2017 15:15:42
Comentarios

Buen material. Gracias por la información. Ahora funciona.

Callum Callum
2 jun 2017 15:26:24