Imaginez que vous devez faire quelquechose de custom, et que vous devez enregistrer des données dans une table non standard de WordPress, est-il possible d’utiliser les fonction de WordPress pour faire des opération CRUD? sans passer par PDO par exemple?
La réponse est OUI ! Je passe sur le fait de devoir faire une connexion vous même en récupérant les données de connexion à votre base de données.
Contenu
Récupérer les identifiant de connexion dans une page
Il est facile de récupérer les identifiants de connexion quand vous formattez correctement votre page.
/**
* The template for displaying all pages.
*
* Template Name: Page Classement
* Visibility par
* Template Post Type: page_application
*
* Page template with minimal formatting, a fixed 940px container and right sidebar layout
*
* @package WordPress
* @subpackage WP-Bootstrap
* @since WP-Bootstrap 1.0
*/
//var_dump(DB_NAME, DB_USER, DB_PASSWORD, DB_HOST);
global $wpdb;
global $wp_query;
$results = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}classement ", OBJECT );
var_dump($results);
Le code ci-dessus est dans une page dans un thème (sous réserve que le thème soit actif, ce code marchera)
Vous n’avez pas besoin de faire de connexion, en utilisant l’objet global $wpdb, la connexion est déjà faite, $wpdb est l’objet connexion.
Utilisation de $wpdb
Le documentation officielle de cet objet est sur cette page.
Read
$results = $wpdb->get_results( "SELECT * FROM {$wpdb->prefix}classement ", OBJECT );
Insert
$wpdb->insert(
"{$wpdb->prefix}classement",
array(
'nom' => 'value1',
'temps' => 123,
'jeu' => 'Templiers',
'status' => 'enabled',
'created_at' => '2020-08-27 15:10:18',
)/*,
array(
'%s',
'%d',
) */
);
Update
$wpdb->update(
'classement',
array(
'nom' => 'value1', // string
'position' => 'value2' // integer (number)
)
)
Delete
$wpdb->delete( 'table', array( 'ID' => 1 ) );