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 ) );