#php #wordpress
Вопрос:
У меня проблема, мне нужна помощь.
Я получил форму пользовательского заказа в wordpress и хочу указать общую цену на function.php.
Вот общая цена с помощью скрипта для расчета любого шоу на «0», поэтому я хочу получить это число (Общая цена) в function.php $сообщение .= «Итого — $Общая ценаn»;
<div name="totalPrice" id="totalPrice" class="totalPrice">0</div>
Вот код по адресу function.php
function submit_form() {
if(isset($_POST['submit_form'])) {
$str = date('Ymd') . str_pad(mt_rand(1, 99999), 5, '0', STR_PAD_LEFT);
//echo $str;
$gender = $_POST['gender'];
$name = $_POST['username'];
$phone = $_POST['phone'];
$email = $_POST['email'];
$deliverydate = $_POST['deliverydate'];
$deliverytime = $_POST['deliverytime'];
$payment = $_POST['payment'];
$address1 = $_POST['address1'];
$address2 = $_POST['address2'];
$item_ids = json_decode(stripslashes($_POST['submit_form']));
$itemid = $_POST['itemid'];
$qty = $_POST['qty'];
$item_names = [];
$items = "Item - Qtyn";
foreach($item_ids as $item) {
foreach($item as $k => $i) {
$item_names[$k] = $i;
}
}
foreach($itemid as $k => $itm) {
if(isset($item_names[$itm])) {
$items .= $item_names[$itm] .' - '. $qty[$k]."n";
}
}
$message = "";
$message .= "Order No - $strn";
$message .= "Name - $gender $namen";
$message .= "Phone - $phonen";
$message .= "Email - $emailn";
$message .= "Delivery Date - $deliverydaten";
$message .= "Delivery Time - $deliverytimen";
$message .= "Address - $address1 $address2n";
$message .= "Payment - $paymentn";
$message .= "-----------------------n";
$message .= $items;
$message .= "-----------------------n";
$message .= "Total - $totalPricen";
$admin_mail = 'email@gmail.com';
$to = $email;
$subject = "New Order";
'Reply-To: ' . $email . "rn";*/
// More headers
$headers .= 'From: xxx@xxx.com '. "rn";
$headers .= 'Reply-To:'. $email . "rn";
}
$sent = mail($admin_mail, $subject, $message, $headers);
if($sent) {
//echo "sent <br>";
}//message sent!
else {
//echo "failed";
}//message wasn't sent
$sent = mail($to, $subject, $message, $headers);
if($sent) {
//echo "sent <br>";
}//message sent!
else {
//echo "failed";
}//message wasn't sent
}
add_action( «инициализация», «форма отправки» );
Комментарии:
1.
div
элементы не имеютname
атрибута, и, тем не менее, добавление одного из них все равно не заставляет их вести себя как поля формы. Если вы хотите, чтобы это значение отправлялось с обычной отправкой формы, то сначала вам нужно вставить его в фактическое поле формы.2. (И что любой пользователь может манипулировать значением, если вы позволите клиенту рассчитать и отправить его, я надеюсь, понятно?)
Ответ №1:
Элементы Div не имеют атрибута name. Вместо этого вы можете использовать скрытый ввод для каждого приза, чтобы извлечь из него значение.
<input type="hidden" value="0"></input>
Не забудьте ввести входные данные в элемент формы, чтобы вы могли извлечь значение. Это выглядело бы примерно так:
<form method="post" action="">
<div name="totalPrice" id="totalPrice" class="totalPrice">0</div>
<input type="hidden" value="0"></input>
<!-- Some other Code -->
.
.
</form>
Комментарии:
1. Привет, спасибо за совет, но это все равно не сработает.