首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >WordPress插件-单独的表单-一个插件页面

问WordPress插件-单独的表单-一个插件页面
EN

Stack Overflow用户
提问于 2013-03-22 07:22:29
回答 1查看 177关注 0票数 2

是否可以有两个表单来保存插件选项(一个插件页面),并分别提交每个表单?

使用一个表单真的很容易。例如,插件页面(在仪表板中)可以包含以下内容(至少):

代码语言:javascript
复制
<form action="options.php" method="post" >
    <?php settings_fields( 'my-settings' ); ?>
    <?php do_settings_sections( 'my-settings' ); ?>

    //more input fields

    <?php submit_button(); ?>
</form>

对于保存选项,这将工作得很好。但是,有没有可能有两个这样的表单,使用相同的插件选项页面(但在提交时,只保存表单中的选项,我单击哪个提交按钮)?

目前,如果我创建了另一个表单,并点击submit,它仍然会同时提交这两个表单,而不是只提交一个(我点击了submit按钮)。

有什么想法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-03-22 08:11:08

我不会采用这种方法,而是使用ajax来实现。它更容易实现,并且会给你的插件一种非常web2.0的感觉。在您的情况下,实现ajax方法实际上比尝试做您正在做的事情更容易。Here is的一些东西来帮助你入门。

代码语言:javascript
复制
<?php
add_action('admin_print_scripts', 'my_action_javascript');

function my_action_javascript() {
?>
<script type="text/javascript" >
jQuery(document).ready(function($) {

    var data = {
        action: 'my_action',
        whatever: 1234
    };

    // since 2.8 ajaxurl is always defined in the admin header and points to admin-ajax.php
    jQuery.post(ajaxurl, data, function(response) {
        alert('Got this from the server: ' + response);
    });
});
</script>
<?php
}

然后,您可以像这样处理请求:

代码语言:javascript
复制
<?php 

add_action('wp_ajax_my_action', 'my_action_callback');

function my_action_callback() {
    global $wpdb; // this is how you get access to the database

    $whatever = intval( $_POST['whatever'] );

    $whatever += 10;

        echo $whatever;

    die(); // this is required to return a proper result
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15559999

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档