У меня есть одностраничный сайт в WordPress. Мне нужно поместить информацию из массива php $ cat_good в два поля выбора. Он работает нормально в файле index.php следующим образом:
<div>
<select id="flowers_type" class="styled">
<option value="">--</option>
<?php
foreach ( $cat_good as $key => $value) {
echo '<option value="' . $key . '">' . $key . '</option>';
}
?>
</select>
</div>
<div>
<select id="flowers_type_item" class="styled">
<option value="">--</option>
<?php
foreach ( $cat_good as $key => $value) {
$good = $key;
foreach ( $value as $key => $value ) {
echo '<option class="' . $good . '" value="' . $key . '">' . $value . '</option>';
}
}
?>
</select>
</div>
Вопрос в том, как поместить эти два поля выбора в контактную форму 7?
С помощью Dhanuka Nuwan теперь у меня есть код в function.php, который помогает мне добавлять селекторы в контактную форму 7.
function flowers_type(){<!-- here is my code for $cat_good -->
$output .= "<div><select name='flowers_type' id='flowers_1' class='styled'><option value='0'>--</option>";
foreach ( $cat_good as $key => $value) {
$output .= "<option value='$key'>$key</option>";
}
$output .= "</select></div>";
$output .= "<div><select name='flowers_type_item' id='flowers_2' class='styled'><option value='0'>--</option>";
foreach ( $cat_good as $key => $value) {
$good = $key;
foreach ( $value as $key => $value ) {
$output .= "<option class='$good' value='$key'>$value</option>";
}
}
$output .= "</select></div>";
return $output;}
Но также мне нужно, чтобы второй селектор зависел от первого. Я пытаюсь сделать это с помощью https://github.com/tuupola/jquery_chained. В моем файле JS у меня есть:
$("#flowers_2").chained("#flowers_1");
К сожалению, это не работает.
Вы можете добавить шорткод к контактной форме 7, используя wpcf7_add_shortcode
без труда. Вот твой код.
function flowers_type(){
$output = "<select name='flowers_type' id='flowers_type' onchange='document.getElementById(\"flowers_type\").value=this.value;'><option value="">--</option>";
foreach ( $cat_good as $key => $value) {
$output .= "<option value='$key'> $key </option>";
}
$output .= "</select>";
return $output;
}
wpcf7_add_shortcode('flowers_type', 'flowers_type', true);
Теперь вы можете использовать шорткод [flowers_type] внутри формы 7 для контакта. Обратите внимание, что этот код не проверен. Сделайте резервную копию ваших файлов перед использованием. сделай то же самое с другим.
Повеселись. 🙂
Других решений пока нет …