__( 'Lead Paragraph', 'understrap' ), 'selector' => 'p', 'classes' => 'lead', 'wrapper' => true, ), array( 'title' => _x( 'Small', 'Font size name', 'understrap' ), 'inline' => 'small', ), array( 'title' => __( 'Blockquote', 'understrap' ), 'block' => 'blockquote', 'classes' => 'blockquote', 'wrapper' => true, ), array( 'title' => __( 'Blockquote Footer', 'understrap' ), 'block' => 'footer', 'classes' => 'blockquote-footer', 'wrapper' => true, ), array( 'title' => __( 'Cite', 'understrap' ), 'inline' => 'cite', ), ); if ( isset( $settings['style_formats'] ) ) { $orig_style_formats = json_decode( $settings['style_formats'], true ); if ( is_array( $orig_style_formats ) ) { $style_formats = array_merge( $orig_style_formats, $style_formats ); } } $settings['style_formats'] = wp_json_encode( $style_formats ); /* * Fix TinyMCE editor body margin that is set to 0 by Bootstrap's * _reboot.scss (v4 & v5). `margin: 9px 10px` is the value used by WP's * TinyMCE skin (/wp-includes/js/tinymce/skins/wordpress/wp-content.css). */ if ( isset( $settings['content_style'] ) ) { $settings['content_style'] .= ' body#tinymce { margin: 9px 10px; }'; } else { $settings['content_style'] = 'body#tinymce { margin: 9px 10px; }'; } return $settings; } } add_filter( 'mce_buttons', 'understrap_tiny_mce_blockquote_button' ); if ( ! function_exists( 'understrap_tiny_mce_blockquote_button' ) ) { /** * Removes the blockquote button from the TinyMCE toolbar. * * We provide the blockquote via the style formats. Using the style formats * blockquote receives the proper Bootstrap classes. * * @since 1.0.0 * * @see understrap_tiny_mce_before_init() * * @param array $buttons TinyMCE buttons array. * @return array TinyMCE buttons array without the blockquote button. */ function understrap_tiny_mce_blockquote_button( $buttons ) { foreach ( $buttons as $key => $button ) { if ( 'blockquote' === $button ) { unset( $buttons[ $key ] ); } } return $buttons; } }