表单提交后的WP选项API自定义操作

时间:2017-06-07 07:08:18

标签: wordpress

对不起,如果这是一个老问题,但我真的无法找到答案。我是wordpress插件开发的新手。在使用WP Options API提交表单之前,如何进行回调?在本机PHP中,我们可以说是

if (isset($_POST['submit'])) {
    $options = $_POST['zt_ftp_settings'];
    var_dump($options);
 } 

但是,我正在使用WP Options API。它正确地保存了数据,我只想在保存数据后再做一些。

这是我做的,

<form method="post" action="options.php">
<?php   
settings_fields('zt_ftp_settings_options' );
do_settings_sections( 'zt_ftp_settings_options' );
$option = get_option('zt_ftp_settings');
?>
<h2>FTP Settings</h2>
<p>Please provide your ftp credentials.</p>
<table class="form-table">
    <tbody>
            <tr>
                <th scope="row">FTP Hostname</th>
                <td>
                    <input name="zt_ftp_settings[zt_ftp_host_name]" type="text" id="zt_ftp_host_name" value="<?php echo $option['zt_ftp_host_name']?>" class="regular-text">
                </td>
            </tr>
            <tr>
                <th scope="row">FTP Username</th>
                <td>
                    <input name="zt_ftp_settings[zt_ftp_user_name]" type="text" id="zt_ftp_user_name" value="<?php echo $option['zt_ftp_user_name']?>" class="regular-text">
                </td>
            </tr>
            <tr>
                <th scope="row">FTP Password</th>
                <td>
                    <input name="zt_ftp_settings[zt_ftp_password]" type="password" id="zt_ftp_password" value="<?php echo $option['zt_ftp_password']?>" class="regular-text">
                </td>
            </tr>
    </tbody>
</table>
<?php submit_button( 'Save Settings' ); ?>

感谢。

1 个答案:

答案 0 :(得分:1)

使用WP AJAX功能。

使用以下JS,

 $("#submit").click(function(){ 
    var url = window.location.href;

    jQuery.post(
        ajaxurl, 
        {
            'action': 'delete_search',
            'tid':   tid,
        },
        function(response){
          location.reload();
        });
 });

替换您的提交按钮ID并使用您的表单值。

在function.php中使用以下代码

function prefix_ajax_delete_search() {
    global $wpdb;
    $user_id = get_current_user_id();
    $wpdb->delete('sf_save_search', array('id' => $_POST['tid']) ); 
    wp_die();
}
add_action( 'wp_ajax_delete_search', 'prefix_ajax_delete_search' );

根据您的要求更改功能名称和变量