簡體   English   中英

表單動作WordPress插件

[英]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> &nbsp;
                            <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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM