У меня есть большая форма с двумя кнопками отправки, и я хочу проверить на бэкэнде, какая из двух кнопок была нажата. Даже если в прошлом я делал это много раз, на этот раз у меня возникла странная проблема. Ни одна из двух кнопок не включена в параметры публикации.
Вот часть формы:
$html .= '<form type = "post" action = "" id = "my_form">';
$html .= '<div class = "form-action">';
$html .= '<input type = "hidden" name = "action" value = "addfrontenddata"/>';
$html .= '<input type = "submit" name = "submit" class = "submit-button" value = "Submit">';
$html .= '<a href = "#" class = "cancel-button">Cancel</a>';
$html .= '</div>';
$html .= '<div class = "form-action">';
$html .= '<input type = "submit" name = "draft" class = "submit-button save-draft" value = "Save Draft">';
$html .= '</div>';
$html .= '</form>';
И мой код Wordpress в бэкэнде
$my_post['post_status'] = isset($_POST['draft']) ? 'draft' : get_option('default_status');
Ни у $_POST['draft'] нет значения, ни у параметров, пока я отлаживаю в консоли Chrome.
Да. Все, кроме входных данных для отправки.
Не могли бы вы поделиться всем кодом, например, в какой хук вы добавляете свой код?
Он находится в настраиваемом плагине. post_status сохраняется вместе с get_option('default_status'). Но, как я уже сказал, две кнопки не передаются из параметров, пока я проверяю консоль Chrome. Так что я не думаю, что это код PHP. Но что-то в интерфейсе






Попробуй изменить
name = "submit" для name = "что угодно"
Ничего не изменилось. Я даже удалил этот name = "submit", так как проверяю только кнопку draft.
Вы заметили, что ваш тип формы установлен как post, а не как метод формы установлен как post. Изменить строку ниже
$html .= '<form type = "post" action = "" id = "my_form">';
в виде
$html .= '<form method = "post" action = "" id = "my_form">';
или просто используйте $_GET[];
У вас есть значения других полей в этой форме?