为什么我的自定义函数在WordPress中被调用两次?
例如我在functions.php中有这个功能:
function your_function_name() {
if(isset($_POST['your_var'])) {
// return $error;
echo '<p class="alert alert-danger"><span class="close" data-dismiss="alert">×</span> Work NOT submitted! Please correct the error(s) below.</p>';
}
}
我的模板:
<?php
your_function_name();
?>
<form class="form-submission" method="post" action="">
<input type="text" class="form-control" placeholder="Name" name="your_var">
...
提交表单后,我会在屏幕上显示两次<p class="alert alert-danger"><span class="close" data-dismiss="alert">×</span> Work NOT submitted! Please correct the error(s) below.</p>
。一个是之前 html标记,另一个位于正确的位置:
<p class="alert alert-danger"><span class="close" data-dismiss="alert">×</span> Work NOT submitted! Please correct the error(s) below.</p><!DOCTYPE html>
<html lang="en-US" class="no-js">
<head>
....
<p class="alert alert-danger"><span class="close" data-dismiss="alert">×</span> Work NOT submitted! Please correct the error(s) below.</p>
<form class="form-submission" method="post" action="">
<input type="text" class="form-control" placeholder="Name" name="your_var">
...
html标签之前的第一个 应该不,但确实存在!为什么?我该如何解决这个问题?
我希望消息显示在表单标记之前,而不是在html标记之前。
答案 0 :(得分:0)
<?php
if(isset($_POST['submitbuttonname']))
your_function_name();
?>
试试这个也许这适合你。在您的代码中,函数被调用两次,第一次是在加载页面时,另一次是在调用它时。因此,如果表单已提交,则调用该函数。
答案 1 :(得分:0)