Come rimuovere tutti i post di WordPress in stato inherit

Se il vostro database si chiama db eseguite questa query (da phpMyAdmin vi viene semplice da web, se non ce l’avete installato, qui la guida su come installarlo):

DELETE FROM `db`.`wp_posts` WHERE `wp_posts`.`post_status` = 'inherit'

E cancellerete tutti i post che sono in quello stato. Ovviamente dovete fare massima attenzione nel caso che abbiate dei media o delle revisioni.

Come potrete notare qua https://codex.wordpress.org/Post_Status lo stato serve per quelle due cose, ma spesso e volentieri sono rimasugli di articoli vecchi che occupano tanto spazio per niente. E nel caso di macchine virtuali o server con poco spazio, può essere una soluzione molto valida quella di cancellare questi post.

Personalmente per alcuni progetti mi ha fatto ridurre il database di più della metà, quindi valutate bene.
Ovviamente prima di farlo fate un backup completo del database per evitare problemi.

Photo by Stephen Phillips – Hostreviews.co.uk on Unsplash

Come disattivare tutti i plugin di WordPress

Nel caso aveste dei problemi al vostro sito web/blog WordPress e questo, secondo voi, è causato da dei plugin mal funzionanti, potete provare a disattivarli forzatamente accedendo al database e modificando la tabella:

wp_options

E cambiare la riga che di solito ha id 33:

option_name active_plugins

Con il parametro:

a:0:{}

Così da disattivarli tutti forzatamente dal database!

Photo by Stephen Phillips – Hostreviews.co.uk on Unsplash

Come pubblicare subito i post pianificati su WordPress

Non so a quanti di voi possa essere utile questa funzionalità, ma in certi casi può tornare utile se avete necessità di utilizzare il campo della data come vero e proprio valore da visualizzare.

Nel caso, vi basterà modificare il file functions.php, come nel caso del blocco dei media per i non admin, e inserire questa funzione:

function prevent_future_type( $post_data ) {
	if ( $post_data['post_status'] == 'future' && $post_data['post_type'] == 'post' ) {
		$post_data['post_status'] = 'publish';
	}
	return $post_data;
}
add_filter('wp_insert_post_data', 'prevent_future_type');
remove_action('future_post', '_future_post_hook');

Ora tutti i post futuri verranno pubblicati immediatamente e risulteranno come ultimi in ordine cronologico (ottimo se utilizzate i post come gestione di eventi o appuntamenti futuri ma volete che siano pubblicati subito).

Come disabilitare l’upload dei media ai non admin su WordPress

Se volete disabilitare l’upload dei Media (quindi immagini e altri file) ai non amministratori (quindi editor, contributors ecc) del vostro sito web o blog basato su WordPress, vi basterà spulciare nel vostro tema nel file functions.php e inserire:

function only_upload_for_admin( $file ) {
    if ( ! current_user_can( 'manage_options' ) ) {
        $file['error'] = 'You can\'t upload images without admin privileges!';
    }
    return $file;
}
add_filter( 'wp_handle_upload_prefilter', 'only_upload_for_admin');

Ora chiunque non è admin, semplicemente non potrà caricare file.