1.0.0 • Public • Published

New Updates 2019

12 December

  • Updating Plugins
  • Sort out main functions in function.php file
  • 404 page (created fields in 'option')
  • template confirmation file upgrade
  • general Headers upgrade
  • remove tml-login template
  • swipebox js was removed

9 December

FPS Sticky Menu

  • Update Plugin V.1.6.21
  • Removing script footer modal menu (Deprecated)
  • Adding a function inside fpsbase.js file for opening menu
  • Adding Style base
  • Adding icon hamburger span

Adding editorconfig Root project theme

11 June

Updating Plugins

4 April

  • Updating Plugins
  • About "Download": For the links with download, add data information to it ( data-linktype="download" data-documentName="< DOCUMENT TITLE >" ), Where < DOCUMENT TITLE > is the document title that is being downloaded.
  • Add datalayers file in inc/datalayer-info.php

2 April

Material icons Added to the framework

  • to use them from html: <i class = 'material-icons'>name icon</i>

  • to use them from sass, through the mixin: @include mIcons ('name_icon', font-size);

    for example: @include mIcons ('backup', 2.5rem);

Defaults values: Icon: 'backup', $font-size:18px

List with all the icons: https://material.io/tools/icons

Method used for Sass: https://github.com/google/material-design-icons/issues/150#issuecomment-163021143

29 March

  • Removing Font Awesome v5.7.2
  • Adding Material Design icons
  • Updating to New icons
  • Social Icons are using SVG file
  • Banner, added to Page as example of header banner

15 March

  • Updating Plugins
  • Code Optimization
  • New mmenu / mobile Menu
  • Updating to Boostrap v4.3.1
  • Updating to Font Awesome v5.7.2
  • adding wp_get_attachment_image() function to images

Updates 2018

7 Dic

  • Updating Plugins
  • TML login
  • gulp + sass + Browser sync / improving our workflow (instructions bellow !)

15 Nov

  • Adding Function of Yoast meta description

15 Oct

  • Adding htmlemail-2.0.5 plugin
  • Replacing "data-social-network" to "data-socialnetwork" (social footer)

09 Oct

  • Updating Plugins

14 Sept

  • Updating Plugins
  • Logo Size

07 August

  • Changing the font-family of fontawesome

06 July

  • "Adding author fields (social, thumbnail avatar) - autor.php page"

04 July

  • Updating Plugins (SEO+TML)
  • Adding Fields of Social Links

19 June

  • Updating Plugins (SEO+TML)

04 June

  • Updating to Fontawesome 5.0.13
  • Adding social attributes in footer Section, helping with GTM
  • Updating Plugins
  • Removing Fontawesome Plugin

Hello :)

This Framework is being development to get more useful and faster the develop of a new theme from Front Porch Solutions Company. The idea is the developer use it like base in each development of a site, it has functions, code, fields most used in a basic development but it will be the tool to start with your site. You'll find here:

  • A just right amount of lean, well-commented, templates.
  • The main templates or pages with the basic fields we use in FPS

Getting Started

This Base theme Code is developed using next tools:

This Base theme Plugins used are next:

gulp + sass + Browser sync

It helps us to automate so that every time we make a change in our scss we update the style.css and we refresh the browser.

1- Go to /themes/Fpsbase

2- Open console in the fpsbase directory, and type:

npm install

4- Open gulpfile.js and change the domain Here

browserSync.init(files, {
    proxy: "themebase.dev/",

5- Type gulp in console

6- Enjoy

Components Ready

#'Options' Tab in WordPress Dashboard

  • GTM (Google Tag Manager)
  • Logo
  • Favicon
  • Social Icons
  • Footer Content (Copyrights + Footer Default)
  • Newsletter Form

Are ready to use, only you should add content. To get these fields it's necessary to import .JSON located in https://bitbucket.org/fps-dev/fpsframework/downloads/ . When you imported this file you will find the 'options' tab ready. The fields ready to use are:

GTM (Google Tag Manager)
    <?php the_field('google_tag_header','option'); ?>

    <?php the_field('google_tag','option'); ?>

Logo of Site
    $GETlogo = get_field('logo_site','option'); //FIELD USED
    $logo =  $GETlogo['ID']; //GET 'ID'
    $size = 'medium'; // (thumbnail, medium, large, full or custom size)
<a href="<?php echo esc_url(get_bloginfo('url'));?>">
    <?php echo wp_get_attachment_image( $logo, $size ); ?> //FRIENDLY RESPONSIVE

<link rel="icon" href="<?php the_field('favicon', 'option');?>">

Social Icons
Located in footer.php

 if( have_rows('social_icons' , 'option') ):
    while ( have_rows('social_icons' , 'option') ) : the_row();
    $social = get_sub_field('social_icon');
    <a href="<?php the_sub_field('social_profile'); ?>" target="_blank" data-link-type="social" data-social-network="<?php echo $social['value']; ?>">
        <i class="fab fa-<?php echo $social['value']; ?>"></i>
<?php endwhile; endif; ?>

Footer Content (Copyrights + Footer Default)
Footer Default
<?php the_field('footer_info' , 'option'); ?>

Copyrights Field
<?php the_field('copyright' , 'option'); ?>

Newsletter Form
<?php the_field('newsletter_form','option'); ?>


Current Year
The way to use in wp editor is:
[button link="`add url`" color="primary" size="small" target="_self"]read more[/button]

The conversion is:
<a class="btn '.$atts["color"].' '.$atts["style"].' '.$atts["size"].'" href="'.$atts["link"].'" target="'.$atts["target"].'">'.$content.'</a>


These elements are located in js folder .js with all executed.



We defined two menus:

    'menu-1' => esc_html__( 'Header', 'FPSBase' ),
    'menu-2' => esc_html__( 'Footer', 'FPSBase' ),)

Social Share


Here are located Buttons and Date shortcodes



Author Settings

It means: Author Image


The field:

<?php the_field('author_image'); ?> //Image Author


* Confirmation Page
* Full Width Template


These pages are ready to be use, it means that each page have clean code and ordenaded.

* 404.php
* Author.php
* Search.php
* Archive.php
* Page-home.php
* Page.php
* Single.php


Defining global Clasess

The base classes are located in _theme.scss here defined:

  • Colors
  • Fonts
  • Font Weights
  • Global sizes

Only you need to reuse all classes in this listed you need.

#Base Colors

$primary:         #5278FF;
$primary-hover:   #3255c9;
$secondary:       #36BDAD;
$secondary-hover: #279687;
$txt:             rgba(60, 63, 77,0.80);

Just you need to change by site colors.


$font-family-base: 'Roboto', sans-serif;
$font-family-alt:  'Roboto Condensed', sans-serif;

There are two kind of Fonts Variable defined. You can create the extras you want.

#Where import the Fonts?

Go to functions.php and about 65 line, exactly in FPSBase_scripts functions replace:

wp_enqueue_style('google-font', 'https://fonts.googleapis.com/css?family=Roboto+Condensed:400,700|Roboto:400,500,700');

by your line generated in you font tool.

#Fonts Weights

$font-weight-light:  300;
$font-weight-normal: 400;
$font-weight-base:   $font-weight-normal;
$font-weight-bold:   700;
$font-weight-semi:   600;

Gravity Form Styles

This file is located in _partials/_gform-wrapper.scss and here is defined some basic styles to help the forms of gravity form plugin look better. You dont need worry about validation error styles because here are defined, too.

Image Background:

When you import an Image Background, just can use this class:


    `@extend .backgroundSettings;`

    The styles you will import are next:

    background-position: center center;
    background-size: cover;
    background-repeat: no-repeat;

Image Responsive with ACF

The function wp_get_attachment_image() generates the srcset attribute allowing for responsive images! The selected image when using the image ID return type. This example uses the wp_get_attachment_image() function to generate the image HTML.

    $image = get_field('image'); GET IMAGE ID
    $size = 'full'; // (thumbnail, medium, large, full or custom size)
    if( $image ) {
        echo wp_get_attachment_image( $image, $size );

The result is:

<img width="2274" height="2480"
src="URL" class="attachment-full size-full" alt=""
srcset="URL 2274w, URL-275x300.png 275w, URL-768x838.png 768w, URL-939x1024.png 939w" sizes="(max-width: 2274px) 100vw, 2274px">

Full Width Content

Somethings, we need to have a full widht version of any content. Now, it's ready to be used:

<div class="full-content"> //use this class


There is a sidebar predefined and you can find it in page.php

<div class="content-area">
	<div class="container">
        <section class="flex-inverter">
            <?php while ( have_posts() ) : the_post(); ?>

                <aside class="sidebar">
                    <?php if(function_exists('subpages_menu')) { subpages_menu(); } ?>

                <div class="info">
                    <?php the_title('<h1 class="entry-title">' , '</h1>'); ?>
                    <?php the_post_thumbnail(); ?>
                    <?php the_content(); ?>

            <?php endwhile; ?>
	</div><!-- #main -->

Inside content-area class are defined the styles to sidebar works well. When the sidebar is activated or added the function of subpages_menu is going to show all pages of sub menu if exist.

flex-inverter class makes that in responsive view the content can be inverted. It means, the sidebar can be charged under general content. This class (flex-inverter) could be used in whatever part of site development.

Transition Effects

Here we talk about these:

-webkit-transition: all ease .4s;
-moz-transition: all ease .4s;
-o-transition: all ease .4s;
-ms-transition: all ease .4s;
transition: all ease .4s;

It helps with a good transition between elements. So, you need to import the class .fade like here:

@extend .fade;

Display Elements

Change the value of the display property with our responsive display utility classes. We purposely support only a subset of all possible values for display. Classes can be combined for various effects as you need.

Screen Size Class
Hidden on all .d-none
Hidden only on xs .d-none .d-sm-block
Hidden only on sm .d-sm-none .d-md-block
Hidden only on md .d-md-none .d-lg-block
Hidden only on lg .d-lg-none .d-xl-block
Hidden only on xl .d-xl-none
Visible on all .d-block
Visible only on xs .d-block .d-sm-none
Visible only on sm .d-none .d-sm-block .d-md-none
Visible only on md .d-none .d-md-block .d-lg-none
Visible only on lg .d-none .d-lg-block .d-xl-none
Visible only on xl .d-none .d-xl-block


<div class="d-lg-none">hide on screens wider than lg</div>
<div class="d-none d-lg-block">hide on screens smaller than lg</div>

To Learn more: https://getbootstrap.com/docs/4.3/utilities/display/

Spacing Elements

The classes are named using the format {property}{sides}-{size} for xs and {property}{sides}-{breakpoint}-{size} for sm, md, lg, and xl. Where property is one of:

  • m - for classes margin
  • p - for classes padding

Where sides is one of:

  • t - for classes that set margin-top or padding-top
  • b - for classes that set margin-bottom or padding-bottom
  • l - for classes that set margin-left or padding-left
  • r - for classes that set margin-right or padding-right
  • x - for classes that set both _-left and _-right
  • y - for classes that set both _-top and _-bottom
  • blank - for classes that set a margin or padding on all 4 sides of the element

Where size is one of:

  • 0 - for classes that eliminate the margin or padding by setting it to 0
  • 1 - (by default) for classes that set the margin or padding to $spacer * .25
  • 2 - (by default) for classes that set the margin or padding to $spacer * .5
  • 3 - (by default) for classes that set the margin or padding to $spacer
  • 4 - (by default) for classes that set the margin or padding to $spacer * 1.5
  • 5 - (by default) for classes that set the margin or padding to $spacer * 3
  • auto - for classes that set the margin to auto


<div class="mt-2">MARGIN TOP OF $spacer * .5</div>
<div class="mx-auto">CENTERED ELEMENT</div>
<div class="mx-4">MARGIN LEF AND RIGHT OF $spacer * 1.5</div>

To Learn more: http://getbootstrap.com/docs/4.3/utilities/spacing/

Tools Most Used in FPS that you can find in Bootstrap 4.3.1

There are many elements from Bootstrap that we can use and it won�t be necessary to create new code lines. Here, there�s a list of most used:












http://getbootstrap.com/docs/4.3/utilities/display/ - Hiding Elements + Mobile-Friendly - Good utility!

Embed Iframe


Flex Helpers


Float Elements




Shadows Style


Spacing Elements

http://getbootstrap.com/docs/4.3/utilities/spacing/ - Good utility!

Please, stay update with this documentation and read the rest of content about BootstrapX.


npm i tailwindbase

DownloadsWeekly Downloads






Unpacked Size

53.9 MB

Total Files


Last publish


  • mager19