Есть шаблон для страницы. В шаблоне есть форма. Количество полей переменное, и зависит от выбранного параметра у селекта. При изменении селекта на сервер отсылается запрос (ajax) и из базы получается количество полей, которые и добавляются в форму. Атрибут "action" у формы не указан, следовательно обработка должна происходить на этой же странице, собственно и функция обработки описана в этом шаблоне.
Проблема в том, что при добавлении полей обработка формы, судя по url, происходит на этой же странице, НО(!) шаблон для этой страницы подсовывается index.php, а там нет функции обработки отправленной формы.
Проблему смог локализовать до добавления полей через axaj. Поясню: если добавлять поля тупо с помощью javascript(jQuery), например, по нажатию куда-нибудь, то обработка формы происходит как положено на правильном шаблоне. Стоит только добавить поля в форму с использованием ajax – отправляет на index.php.
Пробовал явно задавать "action" у формы, пробовал выключать ЧПУ в настройках.
Версия wp 3.5.1.
$.post("/wp-content/themes/mythem/ajax_addwork.php",
{nom_id:num_itm},
function(data){
var res = jQuery.parseJSON(data);
// добавление полей
if (res.count_video != 0){
for (var i = 0; i < res.count_video; i++) {
$('.b_video_files .file_main').append('<div class="addwork_file">
<p>выберите файл:</p><p class="addwork_file_name"></p>
<input class="only_video" type="file" name="file_video['+i+']" /></div>');
};
$('.b_video_files').fadeIn(300);
};
}
);