php добавочных шорткодов wordpress $ _POST - PullRequest
0 голосов
/ 26 мая 2020

Может быть, название немного сложно, но я не могу хорошо объяснить свою проблему в нескольких словах. Я использую контактную форму 7. Итак, в основном на внешнем интерфейсе у меня есть этот код:

<span class="wpcf7-form-control-wrap classmateria materia__1">
<input type="text" name="materia__1" value="" size="40" class="wpcf7-form-control wpcf7-text" aria-invalid="false">
</span>

Я создаю функцию, которая генерирует файл xml из некоторых полей во внешнем интерфейсе, и функцию это:

add_action( 'wpcf7_before_send_mail', 'CF7_pre_send' );
function CF7_pre_send($cf7) {
$output .= $_POST['materia__1'];
file_put_contents("wp-content/uploads/cf7outputtest.xml", $output);
}

В основном с помощью команды $_POST['materia__1']; я могу распечатать вывод вышеуказанного выбора для класса «materia__1». Есть ли способ достичь того же результата, выполнив что-то вроде $_POST['materia__[i]']; for i=0; i++;? Или другой способ сделать это? С помощью моей формы я могу сгенерировать столько, сколько хочу, поэтому я не могу создавать $ _POST ['materia__2'], $ _POST ['materia__3'] и c ... Я не эксперт php, поэтому, пожалуйста помогите мне с этим кодом :)

Большое спасибо,

Luca

1 Ответ

0 голосов
/ 26 мая 2020

Используйте массивы вместо индексированных имен.

In HTML name="materia[]"
In PHP print_r($_POST[materia]);

Значения будут в

$_POST['materia'][0], $_POST['materia'][1], etc.

Использование foreach l oop

foreach ($_POST['materia'] as $item) {
    echo $k . ' - ' . $item; // 0 - value, 1 - value, etc.
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...