Я использую этот плагин повторителя с пользовательским шаблоном WordPress https://github.com/DubFriend /jquery.repeater
<div class="repeater">
<div data-repeater-list="category-group">
<div data-repeater-item>
<input type="hidden" name="id" id="cat-id"/>
<input type="text" name="cat-title" />
<input type="text" name="cat-slug" />
<input data-repeater-delete type="button" value="Delete"/>
</div>
</div>
<input data-repeater-create type="button" value="Add"/>
</div>
, но значения не сохраняются в базе данных
В функции сохранения сообщений у меня есть
add_shortcode('album','ty_front_end_form');
function ty_save_post_data() {
if ( empty($_POST) || !wp_verify_nonce($_POST['name_of_nonce_field'],'name_of_my_action') ) {
print 'Sorry, your nonce did not verify.';
exit;
} else {
if (isset ($_POST['title'])) {
$title = $_POST['title'];
} else {
echo 'Please enter a title';
exit;
}
$release= $_POST['custom_release'];
$artist = $_POST['custom_arname'];
$lang = $_POST['custom_lang'];
$id = $_POST['id'];
$catt = $_POST['cat-title'];
$cats = $_POST['cat-slug'];
$post = array(
'post_title' => wp_strip_all_tags( $title ),
'post_status' => 'publish',
'post_type' => 'album',
'meta_input' => array(
'custom_release' => $release,
'custom_arname' => $artist,
'custom_lang' => $lang,
'id' => $id,
'cat-title' => $catt,
'cat-slug' => $cats
)
);
$post_id = wp_insert_post($post);
$location = home_url();
echo "<meta http-equiv='refresh' content='0;url=$location' />";
exit;
} // end IF
}
, и это шорткод для отправки сообщений внешнему пользователю, который отображается на странице шаблона