Добавление пользовательских терминов таксономии в WP из формы переднего плана - PullRequest
0 голосов
/ 04 июля 2018

Я пытаюсь добавить термины в мою пользовательскую таксономию из формы интерфейса. Мне удалось создать форму, заполнить выбор по значениям из сообщений другого пользовательского типа. Но я думаю, что мой обработчик формы не работает ... Когда я нажимаю "отправить", форма просто переводит меня на "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>
...