Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php WordPress插件-单独表单-一个插件页面_Php_Wordpress_Plugins_Settings - Fatal编程技术网

Php WordPress插件-单独表单-一个插件页面

Php WordPress插件-单独表单-一个插件页面,php,wordpress,plugins,settings,Php,Wordpress,Plugins,Settings,是否可以有两个表单保存插件选项(一个插件页面),并分别提交每个表单 使用一个表单真的很容易。 例如,插件页面(在仪表板中)可以包含以下内容(最少): //更多输入字段 对于保存选项,这将非常有效。但是,是否可以使用相同的插件选项页面(但在提交时,只保存表单中的选项,单击哪个提交按钮),创建两个这样的表单 目前,如果我创建了另一个表单,并点击提交,它仍然会提交这两个表单,而不仅仅是一个(我点击了提交按钮) 有什么想法吗?我不采用这种方法,而是使用ajax。它更容易实现,并将给你的插件一个非常W

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

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


//更多输入字段
对于保存选项,这将非常有效。但是,是否可以使用相同的插件选项页面(但在提交时,只保存表单中的选项,单击哪个提交按钮),创建两个这样的表单

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


有什么想法吗?

我不采用这种方法,而是使用ajax。它更容易实现,并将给你的插件一个非常Web2.0的感觉。在您的例子中,实现ajax方法实际上比尝试做您正在做的事情更容易。一些能让你开始的东西

<?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
}

jQuery(文档).ready(函数($){
风险值数据={
行动:“我的行动”,
无所谓:1234
};
//因为2.8 ajaxurl总是在admin头中定义,并指向admin-ajax.php
post(ajaxurl、数据、函数(响应){
警报('从服务器获取此信息:'+响应);
});
});

对最后,我不得不用ajax来完成。它需要更多的工作(安全性需要手动实现),但工作得很好!
<?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
}
<?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
}