WordPress Form Action - functions.php file



我通过进入WordPress后端在表单上创建,然后进入页面,创建新页面,并在该页面上我在html表单上创建。

表单代码在下面给出。

<form action="http://example.com/wp-admin/admin-post_make_payment.php" method="post">
<input type="text" name="payment" class="form-control"/>
<input type="submit" name="Submit" class="form-control"/>
</form>

现在我希望当我提交表单时,它将在函数.php文件上发布数据。就像我在函数.php文件中做了这种类型的操作一样。

function do_payment() {
   echo "<pre>"; print_r($_POST); echo "</pre>";
   exit;
}
add_action('admin_post_make_payment', 'do_payment');

现在,任何人都可以帮助如何做到这一点,它在上面的示例中给出了错误。

谢谢

你只需这样做。

<form action="http://example.com/wp-admin/admin-post.php" method="post">
<input type="hidden" name="action" value="make_payment" class="form-control"/>
<input type="text" name="payment" class="form-control"/>
<input type="submit" name="Submit" class="form-control"/>
</form>

它将在函数.php文件中击中您给定的操作。

第二种方式是这样。假设您有一个表格,该表格在页面下方给出。

<form method="post">
    <input type="text" name="payment" class="form-control"/>
    <input type="submit" name="make_payment" class="form-control"/>
</form>

您只需在函数.php文件中编写以下代码。

if($_REQUEST['make_payment'] == 'make_payment') { 
    echo "<pre>"; print_r($_POST); echo "</pre>";
}

谢谢

首先,你可以从两种不同的方式调用 post ajax 想到/wp-admin/admin-ajax.php或者从/wp-admin/admin-post.php 调用,这取决于你想要执行的操作类型。

在您发送 POST 表单的情况下,您需要调用"admin-post",因此您的代码应如下所示:

<form action="http://example.com/wp-admin/admin-post.php" method="post">
    <input type="hidden" name="action" value="make_payment">
    <input type="text" name="payment">
    <input type="submit" name="Submit">
</form>

然后,您需要在函数.php文件中挂钩操作。为此,您取决于提交方式(ajax 或 post(。所以对于 post admin_post_nopriv_{custom_action} 或 admin_post_{custom_action} 和 in ajax: wp_ajax_nopriv_{custom_action} & wp_ajax_{custom_action}nopriv 将在用户未登录时触发,另一个将在用户登录时触发。您也可以将它们两个指向同一函数。因此,在您的情况下,您应该执行以下操作:

add_action( 'admin_post_nopriv_make_payment', 'make_payment_process' );
add_action( 'admin_post_make_payment', 'make_payment_process' );
function make_payment_process()    
{
    /* here you must put your code */
    var_dump($_REQUEST['action']);
    exit();
}

所以我认为仅此而已。

见和再见代码。

最新更新