Есть следующий код, при отправке формы происходит обновление страницы и не передаются значения радио кнопок. В чем может быть причина?
add_action('admin_menu', 'defense_menu');
function defense_menu() {
add_options_page('Настройки защиты сайта', 'Защита сайта', 'administrator', 'defense.php', 'defense_page');
}
function defense_page(){?>
<div id="primer"></div>
<h4>Какой редирект использовать?</h4>
<form id="form" method="POST">
<input type="radio" name="redirect" value="bezwww" checked="checked"> с www на без www  
<input type="radio" name="redirect" value="swww"> с без www на с www
<br><br>
<button id="btn" style="float: left;">Переписать .htaccess</button>
<h4 style="float: left; margin:3px 0 0 10px;">⇐ Не нажимать!</h4>
</form>
<?php
}
add_action('admin_footer', 'my_action_javascript');
function my_action_javascript() {
?>
<script type="text/javascript" >
jQuery('#form').submit(function () {
jQuery.ajax({
type: "POST",
url: ajaxurl,
data: {action: "my_action"},
beforeSend: function () {
jQuery('#primer').html('<img src="/img/loading.svg">');
},
success: function () {
jQuery('#primer').html('Данные изменены');
}
});
});
</script>
<?php
}
add_action('wp_ajax_my_action', 'my_action_callback');
function my_action_callback() {
$site_name = $_SERVER['SERVER_NAME'];
switch ($_POST['redirect']) {
case "bezwww":
$redirect = "# Склеивание доменов
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^www.$site_name\\.ru$ [NC]
RewriteRule ^(.*)$ http://$site_name/$1 [R=301,L]";
break;
case "swww";
$redirect = "# Склеивание доменов
Options +FollowSymLinks
RewriteCond %{HTTP_HOST} ^$site_name\\.ru$ [NC]
RewriteRule ^(.*)$ http://www.$site_name/$1 [R=301,L]";
break;
default:
$redirect = "# Склеивание доменов
RewriteCond %{HTTP_HOST} ^www.$site_name\\.ru$ [NC]
RewriteRule ^(.*)$ http://$site_name/$1 [R=301,L]";
break;
}
$add_info = $redirect;
file_put_contents('../.htaccess', $add_info);
wp_die();
}