По итогам бессоной ночи:
1) Wordpress требует локализации вашего скрипта. Его нужно "подружить" с admin-ajax.php
wp_register_script('js_function_id', plugins_url('functions_js/js_function.js', __FILE__));
wp_enqueue_script('js_function_id');
wp_localize_script( 'js_function_id', 'ajaxurl', admin_url( 'admin-ajax.php' ) );
2) На сколько я понял в Wordpress не нужно декодировать json. Во всяком случае у меня в php-обработке сработало просто присвоение POST переменной
$my_var = $_POST['my_var'] // без всяких json_decode, stripslashes и т.д.
3) Следите за выходным массивом. За его сбором - здесь тоже "уходит внимание". Если вы пишите одномерный массив то array_push(array, value) вполне подойдет. Но если выходит многомерная хрень с кучей ассоциативных данных (как было у меня) то с array_push в js приходят NULL. Я сформировал массив иначе:
$data = ['surname' => $surname, 'name' => $name, 'patronymic' => $patronymic]; // и так далее
4) Word_сука_press игнорирует echo json_decode($data); Для отправки ответа существут
wp_send_json($data);
И еще.. не забывайте про wp_die();
Надеюсь мои грабли будут для кого-то полезными, чтобы не наступать на них вновь )