Подскажите плагин WP

R
На сайте с 12.07.2005
Offline
127
462

нужен плагин который удаляет старые посты без просмотров, т.е. в настройках должно быть что то типа такого: удалять посты старше 90 дней если за последнюю неделю небыло ниодного просмотра, есть ли готовый вариант?

Gerga
На сайте с 02.08.2015
Offline
89
#1
ryzubex:
есть ли готовый вариант

скорее всего нету, нужно идивидуально разрабатывать.

IL
На сайте с 20.04.2007
Offline
412
#2
ryzubex:
за последнюю неделю небыло ниодного просмотра,

А что считать просмотром?

К примеру, поисковик заглянул - считается? ;)

totamon
На сайте с 12.05.2007
Offline
346
#3
ryzubex:
удалять посты старше 90 дней если за последнюю неделю небыло ниодного просмотра

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

а вообще есть достаточно разных плагинов как платных, так и бесплатных для массового удаления, в том числе по дате, количеству просмотров и другим параметрам, все легко ищется в поиске

вот например https://wordpress.org/plugins/bulk-delete/

Хостинг от 90р ( https://goo.gl/h1VRkY ) и ВПС от 161р ( https://goo.gl/vw9JH7 ) 14 дней бесплатный тест! Лучшие ВПС, ТП огонь, все страны! https://8fn.ru/inferno а тут ВПС за 1,25$ https://8fn.ru/vps1doll Монетизация любых сайтов PUSHами ( https://8fn.ru/push ) - лучшая цена клика и показа ;)
Gerga
На сайте с 02.08.2015
Offline
89
#4
totamon:
это нужно отдельную таблицу писать все просмотры и фильтровать по датам-количеству...

Не обязательно. Достаточно в post_meta записывать дату последнего просмотра.

---------- Добавлено 22.09.2019 в 12:38 ----------

С учётом логики:

ivan-lev:
А что считать просмотром?
R
На сайте с 12.07.2005
Offline
127
#5
ivan-lev:
А что считать просмотром?
К примеру, поисковик заглянул - считается? ;)

нет конечно, желательно что бы учитывались только реальные люди, но я так понимаю нужна актуальная база IP поисковых ботов?

---------- Добавлено 22.09.2019 в 18:01 ----------

totamon:

а вообще есть достаточно разных плагинов как платных, так и бесплатных для массового удаления, в том числе по дате, количеству просмотров и другим параметрам, все легко ищется в поиске
вот например https://wordpress.org/plugins/bulk-delete/

для массового удаления действительно полным полно плагинов, но я не нашел плагин где учитывались просмотры, в bulk delete вроде такой функции нет

W
На сайте с 09.09.2018
Offline
33
wdp
#6
ryzubex:
но я не нашел плагин где учитывались просмотры

а зачем плагин, можно самопись поставить

в functions

/* Подсчет количества посещений страниц
---------------------------------------------------------- */
add_action('wp_head', 'kama_postviews');
function kama_postviews() {

/* ------------ Настройки -------------- */
$meta_key = 'views'; // Ключ мета поля, куда будет записываться количество просмотров.
$who_count = 1; // Чьи посещения считать? 0 - Всех. 1 - Только гостей. 2 - Только зарегистрированных пользователей.
$exclude_bots = 1; // Исключить ботов, роботов, пауков и прочую нечесть :)? 0 - нет, пусть тоже считаются. 1 - да, исключить из подсчета.

global $user_ID, $post;
if(is_singular()) {
$id = (int)$post->ID;
static $post_views = false;
if($post_views) return true; // чтобы 1 раз за поток
$post_views = (int)get_post_meta($id,$meta_key, true);
$should_count = false;
switch( (int)$who_count ) {
case 0: $should_count = true;
break;
case 1:
if( (int)$user_ID == 0 )
$should_count = true;
break;
case 2:
if( (int)$user_ID > 0 )
$should_count = true;
break;
}
if( (int)$exclude_bots==1 && $should_count ){
$useragent = $_SERVER['HTTP_USER_AGENT'];
$notbot = "Mozilla|Opera"; //Chrome|Safari|Firefox|Netscape - все равны Mozilla
$bot = "Bot/|robot|Slurp/|yahoo"; //Яндекс иногда как Mozilla представляется
if ( !preg_match("/$notbot/i", $useragent) || preg_match("!$bot!i", $useragent) )
$should_count = false;
}

if($should_count)
if( !update_post_meta($id, $meta_key, ($post_views+1)) ) add_post_meta($id, $meta_key, 1, true);
}
return true;
}

и вывод в странице (loop page) и записях (loop-single):

глянули: <?php echo get_post_meta ($post->ID,'views',true); ?>

можно глаз вначале добавить.

А сама идея удалять непросмотренные посты не очень удачная - боты все равно забегать будут и отсортировать их нереально.

консультации в личку не даю

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий