Come ottenere i dati utente da una tabella personalizzata nel database WordPress tramite ID utente?

2 giu 2017, 14:24:46
Visualizzazioni: 28.1K
Voti: 2

Ho alcuni campi dati utente personalizzati che richiedono dati da una tabella personalizzata del database.

Ho provato:

global $wpdb;

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

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

e chiamando i dati così:

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

Ma senza successo.

Tabella di esempio nel DB: esempio di struttura della tabella del database con colonne per i dati utente

0
Tutte le risposte alla domanda 1
1
15

La prima sezione del tuo codice è corretta

  global $wpdb;

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

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

Il problema sta nel modo in cui hai provato a recuperare i dati delle singole righe. La funzione get_results nel tuo caso restituisce un array di oggetti. Quindi il modo corretto per recuperare i singoli dati dovrebbe essere...

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

Ottimo materiale. Grazie per le informazioni. Ora funziona.

Callum Callum
2 giu 2017 15:26:24