管理员方面我将表单提交给admin-post.php。我想在表单底部打印成功消息。我在wordpress中的新功能,我在下面展示的内容。
admin.php?page = add-products表单代码
<form action="<?php echo admin_url('admin-post.php') ?>" method="post">
<table>
<input type="hidden" name="action" value="add_product_from_admin">
<tr><td>Name</td><td><input type="text" name="pr_name" id="pr_name"></td></tr>
<tr><td colspan="2" align="center"><input type="submit" name="pr_submit" id="pr_submit" value="Save Products"></td></tr>
</table>
</form>
add_action( 'admin_post_add_product_from_admin', 'add_product_into_data_base' );
function add_product_into_data_base() {
//some database operations
wp_redirect(admin_url('admin.php?page=add-products&message=success'));
}
答案 0 :(得分:0)
这不是一个像PHP一样的WordPress事物。如果您不想隐藏表单中的任何内容,或者使用Ajax提交/处理表单,您可以检查&message
参数是否存在并回显它。
另外,你应该小心你的缩进 - 要清理那些东西。它将使您的生活更轻松。这是一个超级基本示例,除非将&message
设置为查询字符串参数,否则将单独保留表单:
<form action="<?php echo admin_url('admin-post.php') ?>" method="post">
<table>
<input type="hidden" name="action" value="add_product_from_admin">
<input type="hidden" name="message" value="success">
<tr>
<td>Name</td>
<td><input type="text" name="pr_name" id="pr_name"></td>
</tr>
<tr>
<td colspan="2" align="center"><input type="submit" name="pr_submit" id="pr_submit" value="Save Products"></td>
</tr>
</table>
<?= isset( $_POST['message'] ) ? $_POST['message'] : ''; ?>
</form>
答案 1 :(得分:0)
此代码将检查页面加载期间传递的数据中是否存在隐藏的success
操作(表单提交时),并回显“您的消息”。
if ( 'POST' == $_SERVER['REQUEST_METHOD'] && !empty( $_POST['action'] ) && $_POST['action'] == 'success' ) {
echo 'Your Message';
}