admin管理员组文章数量:1130349
I searched a lot about this, found plugins that are out dated and consumes massive resources and finally do nothing, is there like an SQL line to delete all posts that have a word count like less than 100 words?
Thanks,
I searched a lot about this, found plugins that are out dated and consumes massive resources and finally do nothing, is there like an SQL line to delete all posts that have a word count like less than 100 words?
Thanks,
Share Improve this question asked Nov 19, 2018 at 4:20 Abdelrahman EllithyAbdelrahman Ellithy 11 bronze badge 2 |1 Answer
Reset to default -1function delete_posts() {
$lastposts = get_posts(array('numberposts' => -1));
if ( $lastposts ) {
foreach ( $lastposts as $post ) :
setup_postdata( $post ); ?>
<?php
$content = get_the_content();
if (str_word_count($content) < 100) {
wp_trash_post($post->ID);
}
?>
<?php
endforeach;
wp_reset_postdata();
}}add_action( 'init', 'delete_posts' );
I searched a lot about this, found plugins that are out dated and consumes massive resources and finally do nothing, is there like an SQL line to delete all posts that have a word count like less than 100 words?
Thanks,
I searched a lot about this, found plugins that are out dated and consumes massive resources and finally do nothing, is there like an SQL line to delete all posts that have a word count like less than 100 words?
Thanks,
Share Improve this question asked Nov 19, 2018 at 4:20 Abdelrahman EllithyAbdelrahman Ellithy 11 bronze badge 2-
Counting words with SQL isn't so easy. The problem is that it's pretty hard to define what a word is, so that MySQL can understand it. For example there are special strings that are spaces (
) and can be used as word separators... Also you can have HTML tags inside your content - how should that be counted? – Krzysiek Dróżdż Commented Nov 19, 2018 at 7:53 - may be character length? in average the word is 5 characters or so, so can we delete using sql posts with length below 500 or 600 characters (inculding spaces for example)? – Abdelrahman Ellithy Commented Nov 19, 2018 at 15:32
1 Answer
Reset to default -1function delete_posts() {
$lastposts = get_posts(array('numberposts' => -1));
if ( $lastposts ) {
foreach ( $lastposts as $post ) :
setup_postdata( $post ); ?>
<?php
$content = get_the_content();
if (str_word_count($content) < 100) {
wp_trash_post($post->ID);
}
?>
<?php
endforeach;
wp_reset_postdata();
}}add_action( 'init', 'delete_posts' );
本文标签: mysqlDelete posts with word count less than x number of words
版权声明:本文标题:mysql - Delete posts with word count less than x number of words 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://it.en369.cn/questions/1749170406a2326903.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。


) and can be used as word separators... Also you can have HTML tags inside your content - how should that be counted? – Krzysiek Dróżdż Commented Nov 19, 2018 at 7:53