У меня есть плагин, который создает две страницы в меню администратора:
/wp-admin/admin.php?page=list-records /wp-admin/admin.php?page=add-edit-record
Я регулярно использую add-edit-record, чтобы создать какую-то запись и поместить ее в базу данных wp. С другой стороны, список страниц – записи перечисляет все записи, которые я уже создал, и позволяет мне удалять запись . Я хочу, чтобы add-edit-record также загружала определенную существующую запись из базы данных и позволяла мне ее редактировать (и впоследствии сохранять ее). Но как я могу вызвать add-edit-record с информацией, которую я хочу открыть и работать?
Моя идея (возможно, наивная) – либо сохранить идентификатор отредактированной записи в некоторой конфигурации wp-базы данных, и всегда проверять этот элемент при открытии страницы добавления-редактирования-записи – что кажется мне очень сложным. Или перейдите на страницу добавления-редактирования-записи с определенными данными в качестве параметра, например
/wp-admin/admin.php?page=add-edit-record&edit-id=999
но здесь я понятия не имею, как я могу получить этот параметр на моей странице добавления-редактирования-записи.
Может быть, я думаю о завершении неправильного направления, поэтому любые советы будут оценены. Благодарю.
Пойдите со своей последней идеей – создайте такой URL:
$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
А затем в вашем обработчике для add-edit-record
:
if ( ! empty( $_GET['edit-id'] ) && $id = absint( $_GET['edit-id'] ) ) { if ( ! $record = get_record( $id ) ) wp_die( 'Nope' ); // Or something similar }