WordPress как на ладони
Очень Удобный и Быстрый Хостинг для сайтов на WordPress. Пользуюсь сам и вам рекомендую!

Проверка на существование похожей записи в базе

В общем такая проблема. Пользователи будут добавлять посты, так как количество постов будет большим то проверять на уже существующую запись никто не осилит, как можно сделать что бы при добавлении поста шла проверка, к примеру по произвольному полю и если значение его совпадёт с тем что есть в базе, то, пост нельзя будет опубликовать) В какую сторону вообще копать может кто что посоветует?))

0
2Bros
5.7 лет назад
  • 2
    kolshix779 paxtoy.com

    сам с таким вопросом не сталкивался , но

    А) думаю нужно копать в сторону фильтров
    далее выбрать методику сравнения

    1. либо по всему контенту - думаю не вариант, сервер станет
    2. либо - по всем title - найти процент схождения, а потом среди найденных уже сравнивать текст
    3. либо - сначала выставить рамки по таксономиям, потом среди этих таксономий выбрать вхождения по title, а потом среди того что останется сравнивать текст.

      PHP коды сравнений я уже находил в поисковиках, вам толко останется найти подходящий

    Б) после нахождения дубля отметить пост как черновик.

    //add_action('edit_post','your_action');
    //add_action('pre_post_update','post_updating_callback', 10, 2);
    //add_filter( 'wp_insert_post_data' , 'filter_post_data' , '99', 2 );
    
    add_action( 'transition_post_status', 'intercept_all_status_changes', 10, 3 );
    function intercept_all_status_changes( $new_status, $old_status, $post ) {
    	тут сравнение 
    	....
    	по результатам сравнения выдать 
    	publish или draft   
    }
    Комментировать
На вопросы могут отвечать только зарегистрированные пользователи. Вход . Регистрация