Custom Fonts

Please notice that this is a technical article. Adding your own custom font into Massive Addons  requires basic PHP programming knowledge  .
Any syntax error in PHP script will probably result in  server error 500 – website will not work from both frontend & wp-admin! 

In Massive Addons, custom fonts for Typography Presets usage can be added by using build-in filter  ma_custom_fonts 

Code example:

add_filter( 'ma_custom_fonts', 'my_custom_fonts' );

function my_custom_fonts() {

    return $fonts = array(
        'text'     => __( 'My Custom Fonts', 'mpc' ),
        'children' => array(
            array(
                'id'       => 'My Custom Font',
                'text'     => 'My Custom Font Name',
                'variants' => array( '100', '300', 'regular', 'italic', '500', '700', '800', '900' ),
                'url'      => '',
            ),
            array(
                'id'       => 'My Custom Font 2',
                'text'     => 'My Custom Font 2 Name',
                'variants' => array( 'regular', '500', '700italic' ),
                'url'      => 'https://url_to_your_custom_font_2_css_file.css',
            ),
        ),
    );
}

Snippet usage:

Code snippet can be placed in  child theme functions.php  file or  a custom plugin .

Google Fonts in Massive Addons are being cached for 24hours, so to see your fonts in Typography Presets->Font Family dropdown right away you need to  delete google_webfonts.json file  ( wp-content\plugins\mpc-massive\params\mpc_typography\ ) – it will be regenerated on Typography Presets settings load.

In case you have got “Remove Google Fonts” option is enabled in Massive Panel, you need to  delete standard_webfonts.json file  ( wp-content\plugins\mpc-massive\params\mpc_typography\ ).

Code explanation:

Whole custom font group is being passed as an array into  ma_custom_fonts  filter.
In a top-level array, ‘text’ value is responsible for a group name.

‘children’ value contains an array with new custom fonts.

‘id’ – font family name, which will be printed in CSS code
‘text’ – font name used in Typography Preset->Font Family dropdown
‘variants’ – font thickness & style
‘url’ – link to font CSS file, it’s important if font is stored by external service, this can be left empty ” in case font is already loaded via child theme styles