Добавление $timestamp к отправке нескольких форм ниндзя

Мне удалось добавить временную метку $ к одной отправке формы ниндзя, но я не уверен, как расширить приведенный ниже код, чтобы он работал более чем с одной формой.

Это код, который работает для одной формы ниндзя.

<?php
/*
Plugin Name: Time Stamp
*/
function my_ninja_forms_date_code(){
    //Declare $ninja_forms_processing as a global variable.
    global $ninja_forms_processing;
    //only process this code on the form ID 1
    $form_id = $ninja_forms_processing->get_form_ID();
    if( $form_id == 2 ){
        //sets timestamp variable to current time
        $timestamp = date('G:i:s');
        //Update the hidden field value for the field with an ID of 41 to the
current time.
        $ninja_forms_processing->update_field_value( 41, $timestamp );
    }
}
add_action( 'ninja_forms_process', 'my_ninja_forms_date_code' );
?>

Я попытался добавить условие elseif для двух форм, но не был принят, см. код ниже:

<?php
/*
Plugin Name: Example Plugin
*/
<?php
function my_ninja_forms_date_code(){
    //Declare $ninja_forms_processing as a global variable.
    global $ninja_forms_processing;
    //only process this code on the form ID 1
    $form_id = $ninja_forms_processing->get_form_ID();

    if( $form_id == 2 ){
        //sets timestamp variable to current time
        $timestamp = date('G:i:s');
        //Update the hidden field value for the field with an ID of 3 to the current time.
        $ninja_forms_processing->update_field_value( 41, $timestamp );
    }
    elseif ( $form_id == 6 ){
        //sets timestamp variable to current time
        $timestamp = date('G:i:s');
        //Update the hidden field value for the field with an ID of 43 to the current time.
        $ninja_forms_processing->update_field_value( 43, $timestamp );
    }
}
add_action( 'ninja_forms_process', 'my_ninja_forms_date_code' );
?>

$form_id относится к номеру идентификатора формы ниндзя и 41 в $ninja_forms_processing->update_field_value( 41, $timestamp ); берется из скрытого идентификатора поля.

Любые предложения / рекомендации будут приветствоваться.


person Andrew Paton    schedule 20.01.2016    source источник
comment
Вы пытались отладить свой код, чтобы увидеть, достигает ли код операторов?   -  person Pooya    schedule 20.01.2016
comment
Когда я запускаю код с добавленным оператором elseif, он становится пустым. Ошибка сервера 501 отлично работает без оператора elsif, но это обслуживает только одну форму Ninja. Я пытаюсь расширить код для обслуживания нескольких форм, и здесь у меня проблемы.   -  person Andrew Paton    schedule 20.01.2016
comment
с моей точки зрения в коде нет ошибки. Осталось только проверить логику кода. Возможно, чтобы проверить, действительно ли form_id равен 6 или жестко закодированное 43 в блоке elseif является допустимым числом.   -  person Pooya    schedule 20.01.2016
comment
Я вернулся на свой сервер и установил ошибку php, затем запустил приведенный выше код и получил следующую ошибку. Ошибка синтаксического анализа: синтаксическая ошибка, неожиданный «‹» в /home/www/adelphieengineering.co.uk/wp-content/plugins/time-stamp/time-stamp.php в строке 5   -  person Andrew Paton    schedule 22.01.2016
comment
Вы можете вставить строку 5 кода в указанный файл?   -  person Pooya    schedule 22.01.2016
comment
Сообщение об ошибке было сгенерировано из второго фрагмента кода, который я вставил выше — кажется, это строка 5: $form_id = $ninja_forms_processing-›get_form_ID();   -  person Andrew Paton    schedule 23.01.2016


Ответы (1)


В упомянутом вами файле есть два открывающих тега <?php, просто сотрите второй, и ваш код будет работать без ошибок.

person Pooya    schedule 23.01.2016
comment
Хорошо подмечено, теперь чувствую себя глупо, не видя очевидного. Теперь работает как мечта. Спасибо большое - person Andrew Paton; 26.01.2016
comment
@AndrewPaton Рад помочь - person Pooya; 26.01.2016