Домой Wp-Recall WP-Recall: Пишем свое дополнение и кастомизация Проверка поля на уникальность в форме публикации
5ответ(ов) в теме
Dmitryi
не в сети 5 лет
На сайте с 25.06.2016
Участник
Тем 40
Сообщения 104
1
17:00
Версия WP-Recall: 16.1.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 много функций и какая отвечает за публикацию поста я не пойму.

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
2
17:06

Вообще-то файлы плагина трогать нельзя. Поэтому я воздержусь от каких либо советов в данной теме.

0
Dmitryi
не в сети 5 лет
На сайте с 25.06.2016
Участник
Тем 40
Сообщения 104
3
18:20

Если есть другой способ реализовать проверку поля на уникальность, я только за!

0
Вова (Otshelnik-Fm)
не в сети 4 дня
На сайте с 27.01.2013
Участник
Тем 43
Сообщения 18654
4
18:37

Какое это поле? Произвольное поля из формы публикации что в админке задается? Тип поля какой?

0
Андрей CS
не в сети 4 дня
На сайте с 30.11.-0001
Администратор
Тем 71
Сообщения 16936
5
18:46

данные передаются на стороне php в функцию rcl_preview_post и там проверяются, поэтому было бы логично отойти от идеи править js, а также добавить свою проверку именно в этой функции.
Сейчас там нет хука, но в обновлении будет добавлен экшн rcl_preview_post, который будет передавать полученные данные публикации, а уже через него можно будет получить их в свою функцию, проверить и выдать нужный ответ в зависимости от результата проверки.

2
Вы не имеете права на публикацию сообщений в этой теме