Я пытаюсь добавить термины в мою пользовательскую таксономию из формы интерфейса. Мне удалось создать форму, заполнить выбор по значениям из сообщений другого пользовательского типа. Но я думаю, что мой обработчик формы не работает ... Когда я нажимаю "отправить", форма просто переводит меня на "http://therealaddress.com/wp-admin/admin-post.php"", и ничего не происходит (нет нового термина в таксономии, нет пересылки на нужную мне страницу). .. (и да, я изменил therealaddress.com, чтобы скрыть свой реальный адрес, это не неправильный адрес: D)
Я бы хотел переслать пользователя обратно на страницу, где находится форма после отправки.
Моя часть обработки форм выглядит так в моих темах funtions.php
function horse_taxonomy_adder() {
// splitting the select options value from "horses-real-name:Horses Real Name" to "horses-real-name" and "Horses Real Name"
$horsename = ( $_POST['horsename'] );
$hn_slug = split(':', $horsename)[0];
$hn_name = split(':', $horsename)[1];
wp_insert_term(
'hn_name', // the term
'hevoset', // the taxonomy
array(
'slug' => $hn_slug,
)
);
// add the admin notice
$admin_notice = "success";
// redirect the user to the page called "Hallinta"
$page = get_page_by_title('hallinta');
$this->wp_redirect(get_permalink($page->ID));
exit;
}
add_action('admin_post_add_horsetaxonomy','horse_taxonomy_adder');
Моя форма выглядит так:
<form action="http://therealaddress.com/wp-admin/admin-post.php" method="POST">
<input type="hidden" name="action" value="horse_taxonomy_adder">
<div class="form-group">
<label for="exampleInputEmail1">Valitse hevonen jolle päiväkirja luodaan</label>
<select name="horsename">
<?php
global $post;
$args = array( 'numberposts' => -1, 'post_type' => 'hevonen');
$posts = get_posts($args);
foreach( $posts as $post ) : setup_postdata($post); ?>
<option value="<? echo $post->post_name; ?>:<?php the_title(); ?>"><?php the_title(); ?></option>
<?php endforeach; ?>
</select>
</div>
<button type="submit" name="submit" class="btn btn-primary">Lisää päiväkirja</button>
</form>