Извлечение полевых данных из формы ниндзя (вопрос новичка)

Путь над моей головой, так что помощь будет очень признательна.

У меня есть WordPress сайт с формой ниндзя. На странице подтверждения я хотел бы иметь возможность использовать значения, представленные моими пользователями в форме ниндзя, в качестве переменных PHP:-/.

Есть мысли о том, как мне это сделать?

Допустим, я использую радиокнопки, чтобы спросить кого-то, мужчина он или женщина. Как отобразить указанное значение на странице подтверждения?

Помощь будет принята с благодарностью. И извините за то, что такой новичок. Пытаюсь учиться, но сложно начать хорошо.

1 ответ

В идеале вы должны:

1) Создайте новый пользовательский плагин (таким образом, вы сможете обновить свой плагин, тему Ninja Forms и при этом сохранить ваши изменения без изменений и легко перенести их на другой сайт WordPress).

2) Зарегистрируйте Действие Формы Ниндзя:

public function register_actions( $actions ) {
    $actions['newsuccessmsg'] = new NF_XXX_Actions_NewSuccessMsg();
    return $actions;
}
add_filter( 'ninja_forms_register_actions', 'register_actions' );

3) Добавить класс действий:

final class NF_XXX_Actions_NewSuccessMsg extends NF_Abstracts_Action
{
    protected $_name = 'newsuccessmsg';
    protected $_tags = array();
    protected $_timing = 'late';
    protected $_priority = 10;

    public function __construct()
    {
        parent::__construct();
    }

    public function save( $action_settings )
    {
    }

    public function process( $action_settings, $form_id, $data )
    {
        return $data;
    }
}

4) Процесс метода будет включать настройки действий, идентификатор формы и данные отправки. Лично я просто сбрасываю все детали в файл, чтобы увидеть формат данных, подобный этому:

$f = fopen( ABSPATH . 'log.txt', 'a+' );
fwrite( $f, print_r( $data, true ) . "\n");
fclose($f);

Приведенный выше фрагмент кода создаст файл log.txt в корневом каталоге WordPress.

PS: я бы рекомендовал обратиться к ninja-forms/includes/Actions/SuccessMessage.php и использовать его в качестве примера.

Вы можете "отправить" данные формы и получить к ним доступ, используя значение атрибута name

index.php

<form method = "post" action = "postValues.php">
<input type="radio" name="gender" value="male">Male
<input type="radio" name="gender" value="female">Female
<input type="submit" value="Submit"
</form>

postValues.php

<?php

/* Using the name attribute value to access the selected radio button
This should assign either male or female to the variable. */

$selectedGender = $_POST["gender"];
echo "$selectedGender";
?>

Примечание. Значение атрибута name для обоих переключателей должно быть одинаковым (это похоже на группировку)

Другие вопросы по тегам