Cum să afișezi date dintr-o tabelă personalizată în baza de date WordPress?
Vreau să extrag date dintr-o tabelă personalizată, pe care am creat-o în baza de date WordPress și să le afișez într-o pagină WordPress, similar cu articolele
Mulțumesc anticipat

Iată un exemplu de cod care va prelua datele și apoi le va afișa:
global $wpdb;
// aceasta adaugă prefixul setat de utilizator la instalarea WordPress
$table_name = $wpdb->prefix . "your_table_name";
// aceasta va prelua datele din tabela ta
$retrieve_data = $wpdb->get_results( "SELECT * FROM $table_name" );
?>
<ul>
foreach ($retrieve_data as $retrieved_data){ ?>
<li><?php echo $retrieved_data->column_name;?></li>
<li><?php echo $retrieved_data->another_column_name;?></li>
<li><?php echo $retrieved_data->as_many_columns_as_you_have;?></li>
<?php
}
?>
</ul>
<?php
Este o bună practică să folosești nume unice pentru variabile și funcții, așa că poți dori să adaugi un prefix unic tuturor variabilelor sau funcțiilor tale, de exemplu: ($prefix_table_name unde "prefix" ar fi ceva unic precum abrevierea temei sau a pluginului tău.)
Referință - wpdb - codex

Încearcă acest cod pentru a afișa toate înregistrările din baza de date în WordPress. Pentru aceasta, mai întâi trebuie să creezi un fișier.php în directorul ales din WordPress și apoi să folosești acest fișier ca șablon. Acest cod va funcționa perfect. Mulțumesc tuturor.
<?php /* Șablon: numele șablonului tău */ ?>
<?php get_header(); ?>
<table border="1">
<tr>
<th>ID</th>
<th>NUME COMPLET</th>
<th>NUMELE FILIALEI</th>
<th>ADRESĂ E-MAIL</th>
<th>NUMĂR DE TELEFON</th>
<th>CURS</th>
<th>ADRESĂ</th>
<th>ORAȘ</th>
<th>COD POȘTAL</th>
</tr>
<?php
global $wpdb;
$result = $wpdb->get_results( "SELECT * FROM wp_example");
foreach ( $result as $print ) { ?>
<tr>
<td> <?php echo $print->id; ?> </td>
<td><?php echo $print->firstname; ?> </td>
<td> <?php echo $print->branch ; ?> </td>
<td> <?php echo $print->email; ?> </td>
<td><?php echo $print->mobile; ?> </td>
<td> <?php echo $print->course; ?> </td>
<td> <?php echo $print->address; ?> </td>
<td><?php echo $print->city; ?> </td>
<td> <?php echo $print->zip ; ?> </td>
</tr>
<?php }
?>
</table>
<?php get_header(); ?>

Modificare a răspunsului lui @Kirill Fuchs. Dacă utilizați acest cod într-un shortcode, acest lucru poate crea o problemă. Poate afișa rezultatele în ordine greșită. Pentru a evita acest lucru am folosit return în loc de echo. Încercați să faceți acest lucru în shortcode în felul următor:
add_shortcode('custom_db', function(){
global $wpdb;
$table_name = $wpdb->prefix . 'liveshoutbox';
// aceasta va prelua datele din tabela dumneavoastră
$retrieve_data = $wpdb->get_results( "SELECT * FROM $table_name" );
foreach ($retrieve_data as $retrieved_data){
$f_name = $retrieved_data->column_name;
$f_text = $retrieved_data->another_column_name;
}
$output = '<div class="wrap">
<h2>Tabel de clienți.</h2>
<table>
<tr>
<th>Prenume</th>
<th>Nume</th>
<th>Email</th>
</tr>
<tr>
<td>'. $f_name .'</td>
<td>'. $f_text .'</td>
</tr>
</table>
</div>';
return $output;
} );
