WordPress: jak skasować wpisy krótsze niż…

Dzisiejszy snippet powstał „na zamówienie” jednego z użytkowników kanału #wordpress na IRCu, i służy do kasowania wpisów krótszych niż 800 znaków. Cel właściwie jeden, nadchodząca panda może spamiarakom z krótką treścią zrobić kuku. A temat był fajny, użytkownik za mało łapał sql’a żeby zrobił to z wykorzystaniem kilku poleceń, więc powstała wtyczunia:

add_action( 'admin_init', 'iworks_dtl' );
function iworks_dtl()
{
    global $wpdb;
    $query = 'SELECT ID FROM '.$wpdb->posts.' WHERE LENGTH(post_content) < 800 AND post_type = "post" AND post_status = "publish"';
    $data = $wpdb->get_results( $query );
    foreach( $data as $one ) {
        wp_delete_post( $one->ID, true );
    }
}

pobierz plik: iworks_delete_post_short_that_800.php