Удалить WordPress сообщения с 0 просмотров [плагин wp_postviews] - PullRequest
0 голосов
/ 15 апреля 2011

Этот выбор отлично работает на мой взгляд ... любое предложение ??

SELECT * 
FROM  `wp_posts` ,  `wp_postmeta` 
WHERE  `post_type` =  'post'
AND post_id = ID
AND DATEDIFF( NOW( ) ,  `post_date` ) >400
AND meta_key =  "views"
AND meta_value =0;

проблема в том, что я не знаю, как я могу сделать УДАЛЕНИЕ, чтобы удалить все эти сообщения! Любая помогает? Спасибо

Ответы [ 2 ]

1 голос
/ 15 апреля 2011

[редактировать, после комментариев - не проверено, поэтому, возможно, не на 100% правильно]

create table post_ids_to_remove (postid bigint);

insert into post_ids_to_remove (postid) values (
  SELECT post_id
      FROM  `wp_posts` ,  `wp_postmeta` 
      WHERE  `post_type` =  'post'
      AND post_id = ID
      AND DATEDIFF( NOW( ) ,  `post_date` ) >400
      AND meta_key =  "views"
      AND meta_value =0
)

delete from `wp_postmeta` where post_id in(
      SELECT postid
      FROM  `post_ids_to_remove`
);

delete from `wp_posts` where id in(
      SELECT postid
      FROM  `post_ids_to_remove`
);

drop table post_ids_to_remove;
0 голосов
/ 21 марта 2014
 INSERT into post_ids_to_remove (postid)

 SELECT ID FROM  wp_posts ,  wp_postmeta WHERE wp_posts.post_type = 'post' AND wp_postmeta.post_id = ID AND wp_postmeta.meta_key = 'views' AND wp_postmeta.meta_value = 0;

 DELETE from `wp_postmeta` where post_id in(
          SELECT postid
          FROM  `post_ids_to_remove`
    );

 DELETE from `wp_posts` where id in(
          SELECT postid
          FROM  `post_ids_to_remove`
    );

 DROP table post_ids_to_remove;
...