【问题标题】:Submit custom form on plugin?在插件上提交自定义表单?
【发布时间】:2016-10-07 05:56:43
【问题描述】:

我在第二页上进行自定义表单插件操作时遇到问题。

我有一个名为 demo1 的插件文件夹,其中包含两个不同的页面,例如 alert.phpdemo1.php

我在demo1.php 上添加了一个表单,我想在声明了数据库插入查询的alert.php 上处理这个表单。

这里是代码

demo1.php

function alert_options() 
{
    echo '<div class="wrap">
    <h2>Alert</h2>
    <form method="post" action="<?php echo get_admin_url()."admin-post.php"; ?>">
         <input type="hidden" name="action" value="submit-form" />    
         <input type="hidden" name="title" value="test" />
         <input type="hidden" name="content" value="test" />
        <p><input type="submit" name="Submit" value="Save Alert" /></p>
    </form>
    </div>';
}

alert.php

add_action('admin_post_submit-form', '_handle_form_action');
function _handle_form_action()
{
    global $wpdb;
    $title=$_POST['title'];
    $content=$_POST['content'];
    $data=array('title'=>$title,'content'=>$content);
    $wpdb->insert( 'wp_alerts', $data);         
}

【问题讨论】:

  • 请尽快回复
  • 问题不清楚..需要什么输出.??
  • 嗨,每当我想提交表单时,它都会转到localhost/test/Demo/wp-admin/admin-post.php 这个链接并显示为空白,但此处插入查询应该与发布数据一起使用
  • 嗨 Rupam,你想从 alert.php 调用 alert_options() 函数吗?
  • 嗨 Ganapathy,不,我在 alert_options() 上声明了一个表单,该表单在 demo1.php 中,我想提交带有操作 alert.php 的表单,其中声明了插入查询。

标签: php wordpress


【解决方案1】:

你做得对,

在 demo1.php 中包含 alert.php 文件路径

像这样..

demo1.php

<?php 
// Include alert.php file
include_once 'alert.php';

function alert_options() { ?>
<div class="wrap">
    <h2>Alert</h2>
    <form method="post" action="<?php echo get_admin_url()."admin-post.php"; ?>">
         <input type="hidden" name="action" value="submit-form" />
         <input type="hidden" name="title" value="test" />
         <input type="hidden" name="content" value="test" />
        <p><input type="submit" name="Submit" value="Save Alert" /></p>

    </form>
</div>
<?php } ?>

alert.php

<?php
add_action('admin_post_submit-form', '_handle_form_action');
function _handle_form_action(){
    global $wpdb;
    $title=$_POST['title'];
    $content=$_POST['content'];
    $data=array('title'=>$title,'content'=>$content);
    $wpdb->insert( 'wp_alerts', $data);

    // redirect after insert alert
    wp_redirect(admin_url('admin.php?page=test-url'));
    die();


} 

【讨论】:

  • @Rupam ...很高兴为您提供帮助..这就是您想要的?
猜你喜欢
  • 2019-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-29
  • 1970-01-01
  • 1970-01-01
  • 2020-12-18
  • 2019-03-11
相关资源
最近更新 更多