我通过进入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();
}
所以我认为仅此而已。
再见和再见代码。