【问题标题】:Link to .php file inside action=" " in wordpress plugin在 wordpress 插件中链接到 action="" 中的 .php 文件
【发布时间】:2015-06-17 05:24:55
【问题描述】:
<?php
$result = $wpdb->get_results( "SELECT * FROM $pupils_table ORDER BY surname ASC");
foreach ( $result as $print ) {
?>

<tr style="cursor:pointer" onclick="location.href='/pupil/?pupil=<?php echo $print->id;?>'">
    <td><?php echo $print->firstname;?></td>
    <td><?php echo $print->surname;?></td>
    <td><?php echo $print->gender;?></td>
    <td><?php echo $print->dob;?></td>
    <td><?php echo $print->startdate;?></td>
    <td><?php echo $print->eal;?></td>
    <td><?php echo $print->send;?></td>
    <td><?php echo $print->pp;?></td>
    <td>
        <form action='<?php plugins_url(); ?>/foundtrack/includes/delete-pupil.php?id="<?php echo $print->id;?>"' method="post">
            <input type="hidden" name="id" value="<?php echo $print->id;?>">
            <input type="submit" name="submit" value="Delete">
        </form>
    </td>
    <?php } ?>
</tr>

如何在 wordpress 插件的表单中链接到我的 delete-pupil.php 文件。我尝试了很多不同的东西,但都没有奏效。如果这只是没有wordpress的php会容易得多。

【问题讨论】:

    标签: php database forms wordpress


    【解决方案1】:

    通常,在 WordPress 中,您不会直接发布到插件目录中的表单处理器。相反,您将“监听”表单提交并在 WordPress 中进行处理。

    add_action('init', 'foundtrack_form_processor');
    function foundtrack_form_processor() {
        if(!empty($_POST['some_unique_form_var_name'])) {
            return;
        }
        //do form processing here
    }
    

    这样做可以让您访问所有 WordPress 功能,而无需在表单处理器中手动加载 WordPress。

    在这种情况下,您只需将操作留空即可。

    【讨论】:

    • 我如何将其纳入我的问题中?
    • 您只需将该代码添加到您的插件中。在不了解更多信息的情况下,很难具体说明如何将其合并到您的插件中。
    • 好的,我明白了。我如何将它与表单内的 action="" 链接起来?
    • 你可以把它留空,它只会发布到当前页面。
    猜你喜欢
    • 1970-01-01
    • 2014-08-13
    • 2020-04-29
    • 2013-06-15
    • 2012-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多