5ответ(ов) в теме
В форму публикации добавляю произвольное поле input, которое в последующем при публикации поста должно проверятся на уникальность.
Делаю так:
в файле /add-on/publicpost/js/scripts.js в функцию function rcl_publish(e) добавляю следующий код для получения значения требуемого поля:
if(post_type == 'user-doc'){
var chk2 = document.getElementById("unp_2").value;
};затем в той же функции, в массив данных dataString, добавляю переменную chk2, для передачи формы аяксом.
jQuery.ajax({
type: 'POST',
data: dataString,
dataType: 'json',
url: Rcl.ajaxurl,Далее по моей задумке, аякс отправляет данные в обработчик и уже в обработчике идёт проверка поля "unp_2", как-то так:
$duplicate = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM wp_postmeta WHERE meta_key = 'unp_2' AND meta_value = $unp_value "));
if ($duplicate >= 1) { 'возвращаем ERROR'}..Вопрос в том, где сам обработчик данной формы, в файле /add-on/publicpost/index.php много функций и какая отвечает за публикацию поста я не пойму.
данные передаются на стороне php в функцию rcl_preview_post и там проверяются, поэтому было бы логично отойти от идеи править js, а также добавить свою проверку именно в этой функции.
Сейчас там нет хука, но в обновлении будет добавлен экшн rcl_preview_post, который будет передавать полученные данные публикации, а уже через него можно будет получить их в свою функцию, проверить и выдать нужный ответ в зависимости от результата проверки.
Вы не имеете права на публикацию сообщений в этой теме