如何修改联系表格中的错误多重步骤

时间:2017-06-06 07:23:13

标签: wordpress plugins contact-form-7

我在wordpress中使用Contact form Multi Step插件,我有5个表单,每次按下上一个按钮,它都不会重定向到上一个表单

大家好我每次按下前一个按钮都会出错:

错误:

    {"code":"rest_no_route","message":"No route was found matching the URL and 
    request method","data":{"status":404}}

其他: 每次我提交感谢信息

1 个答案:

答案 0 :(得分:1)

以下答案是对WordPress v4.7.5上的Contact Form 7 Multi-Step Forms v2.1的错误的非正式修复。

根据author's update,该插件不再正常工作。

  

更新:对于大多数人来说,这个插件仍然可以正常运行,但对某些人来说并不适用。

要解决此问题,您必须编辑插件的一些代码。

wp-content/plugins/contact-form-7-multi-step-module/form-tags/module-back.php

中更新此功能
/**
 * Handle the back form shortcode.
 */
function cf7msm_back_shortcode_handler( $tag ) {
    if (!class_exists('WPCF7_Shortcode') || !function_exists('wpcf7_form_controls_class'))
        return;
    $tag = new WPCF7_Shortcode( $tag );

    $class = wpcf7_form_controls_class( $tag->type );

    $atts = array();

    $atts['class'] = $tag->get_class_option( $class );
    $atts['id'] = $tag->get_id_option();
    $atts['tabindex'] = $tag->get_option( 'tabindex', 'int', true );

    $value = isset( $tag->values[0] ) ? $tag->values[0] : '';
    $previous_url = isset( $tag->values[1] ) ? $tag->values[1] : '.';
    if ( empty( $value ) ) {
        if ( $tag->type == 'previous') {
            $value = __( 'Previous', 'contact-form-7-multi-step-module' );
        }
        else {
            //using old version
            $value = __( 'Back', 'contact-form-7-multi-step-module' );
        }
    }

    $atts['type'] = 'button';
    $atts['value'] = $value;
    $atts['href'] = $previous_url;

    $atts = wpcf7_format_atts( $atts );

    $html = sprintf( '<input %1$s />', $atts );

    return $html;
}

并在wp-content/plugins/contact-form-7-multi-step-module/resources/cf7msm.js更改

中更新1行
window.location.href = val[step_field.val()];

window.location.href = $(this).attr('href');

最后,您需要更改以联系方式插入[previous]标记的方式。完成上述更改后,[previous]标记就像这样。

[previous "Button Label" "URL of previous step"]