WP блокиране по дума

wood

Senior Member
Помогнете...че ми писна.
Все още не съм намерил начин как да блокирам публикация/обява в WP тема. Кажете някакъв начин или плъгин за блокиране по ключова дума на обява в WP тема.
Ето преди малко пак 12 публикувани обяви с 12 различни имейли и 12 различни IPта...но с еднакво заглавие и текст.
Имам инсталиран Акисмет, ама....
 
Re: WP блокиране по дума

Ето преди малко пак 12 публикувани обяви с 12 различни имейли и 12 различни IPта...но с еднакво заглавие и текст.
Имам инсталиран Акисмет, ама....
Наобиколил те е ботнет. Трудно ще се справиш и ще ги избегнеш с Акисмет, но дано намериш начин. Успех!
 
Re: WP блокиране по дума

Наобиколил те е ботнет. Трудно ще се справиш и ще ги избегнеш с Акисмет, но дано намериш начин. Успех!

Научил съм се че няма невъзможни неща...трябва да има начин за блок по ключова дума ...
 
Re: WP блокиране по дума

Има ли Capcha на коментарите? Ако няма пробвай с някой Capcha плъгин за коментарите, примерно ей тоя или ей тоя. Втория е производство на Google - reCapcha.
 
Re: WP блокиране по дума

Има ли Capcha на коментарите? Ако няма пробвай с някой Capcha плъгин за коментарите, примерно ей тоя или ей тоя. Втория е производство на Google - reCapcha.

Има капча за потвърждение, има Акисмет... и ефекта е нулев. Спасението е само блок по дума или думи. Защото всички обяви са с едно и също съдържание и заглавие.
 
Re: WP блокиране по дума

от известно време си мисля директно да променя WP файловете да правят INSERT в базата само ако няма определени думи. лошото е, че при всеки update ще трябва отново да се прави... ама не ми е много спешно и не съм стигнал до там
 
Re: WP блокиране по дума

WP Admin → Settings → Discussion > Comment Moderation.

В полето "Comment Blacklist" можеш да напишеш дума, URL, IP и каквото е изброено по горе. По една дума/URL/IP на ред. Отбелязаните по този начин ще се маркират автоматично за спам.
 
Re: WP блокиране по дума

WP Admin → Settings → Discussion > Comment Moderation.

В полето "Comment Blacklist" можеш да напишеш дума, URL, IP и каквото е изброено по горе. По една дума/URL/IP на ред. Отбелязаните по този начин ще се маркират автоматично за спам.

Това е за коментари...не за публикувани обяви. Пробвал съм го, блокира... но в коментарите... но когато някой публикува обява ефекта е нулев.😡
 
Re: WP блокиране по дума

За обяви може да използваш автоматичното изтриване през този плугин (хем и за стари обяви ще важи)

ей ти направи автоматично изтриване и не казваш.. ц ц ц 🙂
само кажи как работи
 
Последно редактирано:
Re: WP блокиране по дума

За обяви може да използваш автоматичното изтриване през този плугин (хем и за стари обяви ще важи)

Не ми върши работа...какъв ще е ефекта след като на сутринта в сайта ми има публикувани 200 спам обяви. Аз така или иначе ги трия тези обяви по няколко пъти на ден и без плъгин.
 
Re: WP блокиране по дума

Това, че ще ги триеш с един клик, а не всяка обява една по една.

на плъгина имаш доста елементарни грешки в английския превод. Звучи много НЕнатурално. Ако това има значение за теб, кажи, да ти пратя по-добър превод.
 
Re: WP блокиране по дума

Така би трябвало да ти свърши работа :

PHP:
<?php
/*
Plugin Name: No Dcontent
Version: 0.1
Description: Забарана за публикуване на статии с еднакви заглавия
Author: Stanislav Kolev
Author URI: http://skolev.com
Plugin URI: http://skolev.com
Skolev
*/


	
function no_Dcontent ($post_ID) {
	global $post;
	global $wpdb;

$dcontent_post_content = get_post($post_ID); 
                  
// get the post title and content
$dcontent_title = $dcontent_post_content->post_title;
$dcontent_content = $dcontent_post_content->post_content;

// Check for duplicate title and content
$check_dcontent = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->posts WHERE `post_title` = '$dcontent_title' and `post_content` = '$dcontent_content' and `post_status` = 'publish' ;"));

  if ($check_dcontent > 1 ) {

  wp_delete_post($post_ID); 
  
  echo "Това вече си го имаме ... изтрит пост $post_ID ";
  
  die;

  }
}


add_action('publish_post', 'no_Dcontent');

?>

Какви прави - по време на публикуването проверя за пълни съвпадения на заглавие и съдържание и ако има трие поста ( мести го в кошчето ).

Записваш кода в един php файл, качваш в папка plugins, ПРАВИШ BACKUP и активираш.

Имай предвид, че програмист ми е далеч от званието и най-вероятно ще се намери някой я да оптимизира кода, я да даде по-добра идея ...

И да кажеш после върши ли ти работа
 
Последно редактирано:
Re: WP блокиране по дума

Ще кача този скрип и утре ще пиша има ли ефект....дано да има 🙂🙂🙂.
Я сподели а как да се вмъкне в кода да блокира две-три различни думи или част от текст.
 
Re: WP блокиране по дума

Ето :

PHP:
<?php
/*
Plugin Name: No Dcontent
Version: 0.1
Description: Забарана за публикуване на статии с еднакви заглавия
Author: Stanislav Kolev
Author URI: http://skolev.com
Plugin URI: http://skolev.com
Skolev
*/


	
function no_Dcontent ($post_ID) {
	global $post;
	global $wpdb;

$dcontent_post_content = get_post($post_ID); 
                  
// get the post title and content
$dcontent_title = $dcontent_post_content->post_title;
$dcontent_content = $dcontent_post_content->post_content;

// bad bad words
$dcontent_bad_words = array('дума едно', 'дума две', 'дума три');

foreach ($dcontent_bad_words as $dcontent_bad_word ) {

    if (eregi($dcontent_bad_word, $dcontent_content) || eregi($dcontent_bad_word, $dcontent_title) ) {

  wp_delete_post($post_ID); 
  
  /*
  Вместо echo / die може някакъв редирект към страница с информация какво се е случило 
   
    Header( "HTTP/1.1 301 Moved Permanently" );
    Header( "Location: http://www.страницата-за-грешка.com" );

  */ 
  
  echo "В текста е намерена думата '$dcontent_bad_word' и бля бля ... изтрит пост $post_ID ";
  
  die; 


    }

}


// Check for duplicate title AND content
$check_dcontent = $wpdb->get_var($wpdb->prepare("SELECT COUNT(*) FROM $wpdb->posts WHERE `post_title` = '$dcontent_title' and `post_content` = '$dcontent_content' and `post_status` = 'publish' ;"));
  
  if ($check_dcontent > 1 ) {

  wp_delete_post($post_ID); 

  /*
  Вместо echo / die може някакъв редирект към страница с информация какво се е случило 
   
    Header( "HTTP/1.1 301 Moved Permanently" );
    Header( "Location: http://www.страницата-за-грешка.com" );

  */ 

  echo "Това вече си го имаме ... изтрит пост $post_ID ";
  
  die;

  }
}


add_action('publish_post', 'no_Dcontent');

?>

Ей тука ти идват думички / изрази които искаш да блокираш :
PHP:
$dcontent_bad_words = array('дума едно', 'дума две', 'дума три');
 
Re: WP блокиране по дума

Някакъв резултат ?

Мисля че има ефект. Вече втори ден няма спам по тези ключови думи който съм задал. Но ще изчакам още два-три дни за да съм напълно сигурен.
Но за сега мерси много, браво на програмиста ти.🙂
 

Back
Горе