我正在創建一個專門的WordPress插件,除了這個問題的其餘部分外,我們將其稱爲wordpress插件文件夾作爲插件文件夾。在插件文件夾中,我有多個文件,一個名爲form_submit.php的文件和一個名爲form_template.php的文件。 form_template.php被註冊爲頁面模板,可以通過WordPress儀表板應用於任何帖子或頁面。這個問題是因爲form_submit.php文件位於插件文件夾內部,我如何映射我的表單動作以將數據發佈到文件中?只需將其列爲表單動作WordPress插件
<form action="form_submit.php" method="post" >
因爲我需要,因爲它會尋找在該網站不是插件文件夾的根目錄下的form_submit.php並試圖繪製出URL方案用於其在
都不行插件文件夾如
<form action="wp-content/plugins/plug-folder/form_submit.php" method="post" >
也不管用,是否存在我沒有想到的方法?
編輯:切換到使用plugins_url()後,建議它在我使用表單的兩個實例之一中工作。我的註冊表格(下面附上)不起作用,返回錯誤加載頁面。
<form action="<?php echo plugins_url('register_submit.php', __FILE__); ?>" method="post" autocomplete="off">
<?php if($_GET['error'] == 'username'){ ?>
<div class="error_message">
Uh oh! That username is already taken.
</div>
<?php }else if($_GET['error'] == 'email'){ ?>
<div class="error_message">
Uh oh! That email is already in use.
</div>
<?php }else if($_GET['error'] == 'email_invalid'){ ?>
<div class="error_message">
Uh oh! Make sure to enter a valid email.
</div>
<?php }else if($_GET['error'] == 'signup_blank'){ ?>
<div class="error_message">
Uh oh! Make sure to fill in all the fields.
</div>
<?php } ?>
<input type="text" name="first_name" class="signup_input" id="first_name_input" placeholder="First Name" value="<?= $_GET['first_name']; ?>" required>
<input type="text" name="last_name" class="signup_input" id="last_name_input" placeholder="Last Name" value="<?= $_GET['last_name']; ?>" required>
<input type="text" name="email" class="signup_input" placeholder="Email" value="<?= $_GET['email']; ?>" required>
<input type="password" name="password" class="signup_input" placeholder="Password" required>
<input type="radio" name="gender" value="Female" required> <font color="#FFF">Female</font>
<input type="radio" name="gender" value="Male" required> <font color="#FFF">Male </font>
<input type="submit" name="submit" class="btn btn-default" value="Sign Up" style="margin-left: 15px;">
</form>
但我的登錄表單工作。
<form action="<?php echo plugins_url('login_submit.php', __FILE__); ?>" method="post" autocomplete="off">
<div class="list-block">
<ul>
<span class="ti-user"></span>
<div class="item-input">
<input type="text" name="email" placeholder="E-Mail">
</div>
<div class="item-content margin-top-15">
<span class="ti-lock"></span>
<div class="item-input">
<input type="password" name="password" placeholder="Password">
</div>
</ul>
</div>
<div class="log-in-btn margin-top-15 margin-bottom-30" >
<input type="submit" name="submit" class="btn btn-default">
</div>
</form>
我很困惑,這會導致這種差別。
在wp管理員設置頁面應該有一個複選框,表示任何人都可以註冊。覈實。如果它不能解決你的問題,打開調試模式,通過轉到wp config並將調試更改爲true – shazyriver
@shazyriver這是我自己的外部數據庫而不是WordPress數據庫,不與WordPress數據庫進行交互而不是在WordPress上基於網站。 –
無論如何,你將不得不妥善調試它。如果它正在登錄,它也將用於註冊。 – shazyriver