在我的Wordpress网站上,我想在提交表单后将其重定向到类似于:example.com/user的页面 .
:method:POST
:path:/dash/product/edit/
这是表格的开头:
<!-- Submission Form -->
<form method="post" action="" id="wcv-product-edit" class="wcv-form wcv-formvalidator">
和表格的结尾:
<?php WCVendors_Pro_Product_Form::form_data( $object_id, $post_status ); ?>
<?php WCVendors_Pro_Product_Form::save_button( $title ); ?>
我尝试将其放在表单中:
header('Location: http://www.example.com/user');
但是,这会将表单所在的整个页面重定向,而不会将表单提交到example.com/user . 表单位于此路径: /dash/product/edit/
. 因此,当我请求此路径(表单所在的位置)时,它只会重定向到example.com/user
表格控制器:
public function process_submit() {
if ( ! isset( $_POST[ '_wcv-save_product' ] ) || !wp_verify_nonce( $_POST[ '_wcv-save_product' ], 'wcv-save_product' ) || !is_user_logged_in() ) {
return;
}
$can_submit_live = WC_Vendors::$pv_options->get_option( 'can_submit_live_products' );
$current_post_status = isset( $_POST[ 'post_status' ] ) ? $_POST[ 'post_status' ] : '';
$can_edit_approved = WC_Vendors::$pv_options->get_option( 'can_edit_approved_products' );
$trusted_vendor = ( get_user_meta( get_current_user_id(), '_wcv_trusted_vendor', true ) == 'yes' ) ? true: false;
$untrusted_vendor = ( get_user_meta( get_current_user_id(), '_wcv_untrusted_vendor', true ) == 'yes' ) ? true: false;
if ( $trusted_vendor ) $can_submit_live = true;
if ( $untrusted_vendor ) $can_submit_live = false;
$text = array( 'notice' => '', 'type' => 'success' );
如何在成功提交表单后才能将其重定向到 example.com/user
?
1 回答
你需要某种类型的钩子来提供表单的状态,并将其绑定到重定向以作用于钩子 . 就像将重定向作为一个函数一样,并在正确提交表单时调用该函数 . 're third party plugin'就像Gravity From那样可以为你做到这一点 . 如果您想要这样的付费服务,由您决定 .