![](/img/trans.png)
[英]wordpress form plugin that allows to give a custom url in form action
[英]Form action WordPress Plugin
我正在創建一個專門的WordPress插件,對於其余的問題,我們將不在此單數情況下使用它,我們將把wordpress plugin文件夾稱為plug-folder。 在插件文件夾中,我有多個文件,一個名為form_submit.php的文件和一個名為form_template.php的文件。 form_template.php被注冊為頁面模板,可以通過WordPress儀表板應用於任何帖子或頁面。 問題是因為form_submit.php文件位於plugin文件夾內,我如何映射表單動作以將數據發布到文件中? 只需將其列為
<form action="form_submit.php" method="post" >
將無法按我的需要工作,因為它將在站點的根目錄中而不是plugin文件夾中尋找form_submit.php,並嘗試在plugin文件夾中為其映射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>
我對造成這種情況的差異感到困惑。
使用plugins_url()
<form action="<?php echo plugins_url( 'form_submit.php', __FILE__ ); ?>" method="post" >
Codex參考https://codex.wordpress.org/Function_Reference/plugins_url 。
編輯:請檢查wordpress設置。 我認為您尚未啟用注冊。
希望能幫助到你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.