我在wordpress中使用Contact form Multi Step插件,我有5个表单,每次按下上一个按钮,它都不会重定向到上一个表单
大家好我每次按下前一个按钮都会出错:
错误:
{"code":"rest_no_route","message":"No route was found matching the URL and
request method","data":{"status":404}}
其他: 每次我提交感谢信息
答案 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
更改
window.location.href = val[step_field.val()];
到
window.location.href = $(this).attr('href');
最后,您需要更改以联系方式插入[previous]
标记的方式。完成上述更改后,[previous]
标记就像这样。
[previous "Button Label" "URL of previous step"]