J'ai un plugin qui crée deux pages dans le menu administrateur:
/wp-admin/admin.php?page=list-records
/wp-admin/admin.php?page=add-edit-record
J'utilise régulièrement add-edit-record pour créer une sorte d'enregistrement et le mettre dans la base de données wp. D'autre part, page list-records répertorie tous les enregistrements que j'ai déjà créés et me permet de supprimer un enregistrement . Je veux laisser add-edit-record aussi pour charger certains enregistrements existants de la base de données et me laisser le modifier (et sauvegarder ensuite bien sûr). Mais comment puis-je appeler add-edit-record avec les informations sur lesquelles je souhaite ouvrir et travailler?
Mon idée (peut-être naïve) est soit de sauvegarder l'identifiant de l'enregistrement modifié dans une option de configuration de wp-database et de toujours vérifier cet élément lors de l'ouverture de la page add-edit-record - ce qui me semble très compliqué. Ou appelez la page add-edit-record avec certaines données comme paramètre, comme
/wp-admin/admin.php?page=add-edit-record&edit-id=999
mais ici je ne sais pas comment obtenir ce paramètre dans ma page add-edit-record.
Peut-être que je pense dans la mauvaise direction, alors tout conseil serait apprécié. Merci.
Allez avec votre dernière idée - générer une URL comme suit:
$raw_url = admin_url( 'admin.php?page=add-edit-record&edit-id=' . $id );
$esc_url = esc_url( $raw_url ); // For href attributes and the like
Et ensuite dans votre gestionnaire pour add-edit-record
:
if ( ! empty( $_GET['edit-id'] ) && $id = absint( $_GET['edit-id'] ) ) {
if ( ! $record = get_record( $id ) )
wp_die( 'Nope' ); // Or something similar
}