Je veux récupérer les données d'une table personnalisée, que j'ai créées dans la base de données wordpress, et les afficher dans une page wordpress, comme des publications
Merci d'avance
Voici un exemple de code qui va récupérer les données puis les afficher:
global $wpdb;
// this adds the prefix which is set by the user upon instillation of wordpress
$table_name = $wpdb->prefix . "your_table_name";
// this will get the data from your table
$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
Il est recommandé d’utiliser des noms uniques pour les variables et les fonctions. Vous pouvez donc ajouter un préfixe unique à toutes vos variables ou fonctions. IE: ($ prefix_table_name où "préfixe" serait un nom unique, tel que l’abréviation de votre thème ou de votre plugin. )
Référence - wpdb - codex
S'il vous plaît essayez ce code pour afficher tous les enregistrements de la base de données dans wordpress. Pour cela, vous devez d’abord créer un fichier.php dans votre dossier wordpress sélectionné, puis utiliser ce fichier comme modèle. Et ce code fonctionnera parfaitement Merci à tous.
<?php /* Template Name: your template name */ ?>
<?php get_header(); ?>
<table border="1">
<tr>
<th>ID</th>
<th>FULL NAME</th>
<th>BRANCH NAME</th>
<th>E-MAIL ID</th>
<th>Mobile Number</th>
<th>Course</th>
<th>Address</th>
<th>City</th>
<th>Zip Code</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(); ?>
On dirait que vous cherchez $wpdb
. Vous devrez écrire toutes vos propres fonctions et autres. Je recommande fortement de respecter les conventions de dénomination établies (telles que the_blah
et get_blah
, éventuellement avec un préfixe) pour faciliter la lecture et assurer la cohérence.
Modification de la réponse de @Kirill Fuchs. Si vous utilisez ce code sur shortcode, cela peut créer un problème. Il peut afficher les sorties dans le mauvais ordre. Pour éviter le retour que j'ai utilisé au lieu de l'écho. Essayez de faire ceci sur le shortcode de cette façon:
add_shortcode('custom_db', function(){
global $wpdb;
$table_name = $wpdb->prefix . 'liveshoutbox';
// this will get the data from your table
$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>Table of clients.</h2>
<table>
<tr>
<th>First Name</th>
<th>Last Name</th>
<th>Email</th>
</tr>
<tr>
<td>'. $f_name .'</td>
<td>'. $f_text .'</td>
</tr>
</table>
</div>';
return $output;
} );