¿Cómo mostrar datos de una tabla personalizada en la base de datos de WordPress?
Quiero recuperar datos de una tabla personalizada que he creado dentro de la base de datos de WordPress y mostrarlos en una página de WordPress, al igual que las entradas.
Gracias de antemano

Aquí hay un ejemplo de código que obtendrá los datos y luego los mostrará:
global $wpdb;
// esto agrega el prefijo que es configurado por el usuario durante la instalación de WordPress
$table_name = $wpdb->prefix . "nombre_de_tu_tabla";
// esto obtendrá los datos de tu tabla
$retrieve_data = $wpdb->get_results( "SELECT * FROM $table_name" );
?>
<ul>
foreach ($retrieve_data as $retrieved_data){ ?>
<li><?php echo $retrieved_data->nombre_de_columna;?></li>
<li><?php echo $retrieved_data->otra_columna;?></li>
<li><?php echo $retrieved_data->tantas_columnas_como_tengas;?></li>
<?php
}
?>
</ul>
<?php
Es una buena práctica usar nombres únicos para variables y funciones, por lo que quizá quieras agregar un prefijo único a todas tus variables o funciones, EJ: ($prefijo_nombre_tabla donde "prefijo" sería algo único como la abreviación de tu tema o plugin.)
Referencia - wpdb - codex

Prueba este código para mostrar todos los registros de la base de datos en WordPress. Primero necesitas crear un archivo.php dentro de la carpeta de WordPress que hayas seleccionado y luego usar este archivo como plantilla. Este código funcionará perfectamente. Gracias a todos.
<?php /* Nombre de la plantilla: tu nombre de plantilla */ ?>
<?php get_header(); ?>
<table border="1">
<tr>
<th>ID</th>
<th>NOMBRE COMPLETO</th>
<th>NOMBRE DE SUCURSAL</th>
<th>CORREO ELECTRÓNICO</th>
<th>NÚMERO DE TELÉFONO</th>
<th>CURSO</th>
<th>DIRECCIÓN</th>
<th>CIUDAD</th>
<th>CÓDIGO POSTAL</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(); ?>

Parece que estás buscando $wpdb
. Necesitarás escribir todas tus propias funciones y demás. Recomiendo encarecidamente seguir las convenciones de nomenclatura establecidas (cosas como the_blah
y get_blah
, tal vez con un prefijo) para facilitar la legibilidad y mantener la consistencia.

Modificación de la respuesta de @Kirill Fuchs. Si usas este código en un shortcode, puede crear un problema. Podría mostrar las salidas en un orden incorrecto. Para evitarlo, usé return en lugar de echo. Intenta hacer esto en el shortcode de la siguiente manera:
add_shortcode('custom_db', function(){
global $wpdb;
$table_name = $wpdb->prefix . 'liveshoutbox';
// esto obtendrá los datos de tu tabla
$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>Tabla de clientes.</h2>
<table>
<tr>
<th>Nombre</th>
<th>Apellido</th>
<th>Email</th>
</tr>
<tr>
<td>'. $f_name .'</td>
<td>'. $f_text .'</td>
</tr>
</table>
</div>';
return $output;
} );
