Plugins I’m running in my WordPress blogs

Not that anyone asked.

When it comes to the plugins on my blog I like to think I’m a bit of a minimalist.

No Plugins
I don’t have any plugins currently running at https://joseph-dickson.com

My “professional” blog at joseph-dickson.com is running bare bones WordPress, on the occasion of a new version update I’ll run WP-Optimize to clean things up a bit then uninstall it. I’d keep it around if I had more things going on over there.

Four Plugins
On this very site I’m running four. Jetpack, Akismet, VaultPress and a brute force security plugin in the Must-use folder that I’m considering removing as it’s a little redundant alongside Jetpack.

I get some grief from friends for using Jetpack but find many of it’s features worthwhile. Video CDN, automatic backups, comment spam filtering.

Removing specific Gutenberg core blocks and options

As I eagerly await WordPress 5.0 and its integration of the Gutenberg block editor there were several features that I found troubling from the standpoint of a web designer and developer. All of which are the result of too many options for the end user.

I work in an enterprise environment so many of these features would be fantastic for a blog, but can easily get in the way of a higher education website.

  1. Limit the available core blocks to only what’s needed.
  2. Remove the ability for users to set almost any font size in the paragraph tool.
  3. Remove ability for users to set their own text and background colors.

Limit the available core blocks

function pz_allowed_block_types( $allowed_block_types, $post ) {
    if ( $post->post_type !== 'post' ) {
        return $allowed_block_types;
    }
    return array( 
	'core/paragraph',
	'core/image',
	'core/gallery',
	'core/html',
	'core/list',
	'core/heading',
	'core/subhead',
	'core/quote',
	'core/audio',
	'core/cover-image',
	'core/file',
	'core/video',
	'core/table',
	'core/verse',
	'core/freeform',
	'core/preformatted',
	'core/pullquote',
	'core/button',
	'core/text-columns',
	'core/next-page',
	'core/separator',
	'core/spacer',
	'core/shortcode',
	'core/archieves',
	'core-embed/twitter',
	'core-embed/youtube',
	'core-embed/facebook',
	'core-embed/instagram',
	'core-embed/wordpress',
	'core-embed/spotify',
	'core-embed/flickr',
	'core-embed/vimeo',
	'core-embed/issuu',
	'core-embed/slideshare',
	);
}

add_filter( 'allowed_block_types', 'pz_allowed_block_types', 10, 2 );

Font sizes

// disable manual font sizes
add_theme_support( 'disable-custom-font-sizes' );

Remove the color palette

// disable custom colors
add_theme_support( 'disable-custom-colors' );

// remove color palette
add_theme_support( 'editor-color-palette' );

The Complete Plugin

I’m still learning all things Gutenberg Use at your own risk 🙂

<?php
/**
 * @package pz_gutenberg_settings
 * @version 1.0
 */
/*
Plugin Name: PZ Gutenberg Block Editor Settings
Plugin URI: https://www.pitzer.edu
Description: Restricts some Gutenberg block editor core features and adds customized defaults
Author: Joseph Dickson
Version: 1.0
Author URI: https://www.pitzer.edu

Allow only the following core blocks
Blog post that worked: https://rudrastyh.com/gutenberg/remove-default-blocks.html
Official Documentation: https://wordpress.org/gutenberg/handbook/designers-developers/developers/filters/block-filters/
*/

function pz_allowed_block_types( $allowed_block_types, $post ) {
    if ( $post->post_type !== 'post' ) {
        return $allowed_block_types;
    }
    return array( 
	'core/paragraph',
	'core/image',
	'core/gallery',
	'core/html',
	'core/list',
	'core/heading',
	'core/subhead',
	'core/quote',
	'core/audio',
	'core/cover-image',
	'core/file',
	'core/video',
	'core/table',
	'core/verse',
	'core/freeform',
	'core/preformatted',
	'core/pullquote',
	'core/button',
	'core/text-columns',
	'core/next-page',
	'core/separator',
	'core/spacer',
	'core/shortcode',
	'core/archieves',
	'core-embed/twitter',
	'core-embed/youtube',
	'core-embed/facebook',
	'core-embed/instagram',
	'core-embed/wordpress',
	'core-embed/spotify',
	'core-embed/flickr',
	'core-embed/vimeo',
	'core-embed/issuu',
	'core-embed/slideshare',
	);
}

add_filter( 'allowed_block_types', 'pz_allowed_block_types', 10, 2 );

// disable manual font size slider and input box
add_theme_support( 'disable-custom-font-sizes' );

// disable custom colors
add_theme_support( 'disable-custom-colors' );

// remove color palette
add_theme_support( 'editor-color-palette' );

// adjust preset font sizes
add_theme_support( 'editor-font-sizes', array(
	array(
		'name' => __( 'small', 'themeLangDomain' ),
		'shortName' => __( 'S', 'themeLangDomain' ),
		'size' => 13,
		'slug' => 'small'
    	),
	array(
        	'name' => __( 'Standard', 'themeLangDomain' ),
        	'shortName' => __( 'D', 'themeLangDomain' ),
        	'size' => 16,
        	'slug' => 'standard'
	),	
	array(
        	'name' => __( 'medium', 'themeLangDomain' ),
        	'shortName' => __( 'M', 'themeLangDomain' ),
        	'size' => 20,
        	'slug' => 'medium'
	),
	array(
		'name' => __( 'large', 'themeLangDomain' ),
		'shortName' => __( 'L', 'themeLangDomain' ),
		'size' => 24,
		'slug' => 'large'
    	),
	array(
		'name' => __( 'extra large', 'themeLangDomain' ),
        	'shortName' => __( 'XL', 'themeLangDomain' ),
		'size' => 28,
		'slug' => 'extra-large'
	)
) );
?>

The above code was wrapped together from the following pages