About Layers

Layers is a theme framework for the WordPress publishing platform. Hopefully you already know what WordPress is and how to use it. If not, you can find some excellent starting videos and guides here:
https://wordpress.org/

Themes handle the visual display of your content by providing the templates, visual features and styling for the part of your site your visitors see.

A Theme Framework is a special kind of theme that is written in a way that allows it to be extended in many customizable ways. The two main ways our developers extend Layers is through Child Themes and Extensions (which are the same as a plugin, but specifically designed to work with Layers installed).

Child Themes make your site look different and might add some extra stuff like animations or customization options. Extensions add functionality like more widgets, post types, or customization options.

The primary feature of Layers is its Builder page template and widget customization technology. When you begin building a page using the Layers template, you are brought into the WordPress visual customizer where you can add widgets to the page to design your own layout. Widgets are basically blocks of content that each have a special purpose or design.

This differs from most other builders out there in that it uses native WordPress functionality, puts the customization tools inline, and allows you to see what is happening live – no visualizing the results through custom screens in your post editor!

Layers offers an advantage over mega-themes or builder plugins that often include a proprietary interface and script libraries that impact usability, long-term viability and site stability. In Layers, everything is built to be as lightweight as possible, and integrated with the natural way WordPress works. It comes with a set of basic customization options, widgets and theme templates which provide a user-friendly, extensible tool for creating beautiful, WordPress-faithful websites.

Layers is available for download from our GitHub link below(developers), or from layerswp.com and requires a self-hosted WordPress install.

View WordPress installation and server requirements on the WordPress Codex.

To install Layers, upload the layers zip file to your self-hosted WordPress install under AppearanceThemes → Add New.

Upon Activation, you will be greeted with a quick overview and be prompted to choose a preset.

Custom page layouts are achieved using the WordPress Customizer in combination with widgets.  You can access Layers customization from Appearance → Customize or through any Layers Page.  These pages are listed under Layers → Layers Pages for your convenience.

Customization of these pages and the overall theme is completed in the WordPress Customizer to take advantage of the live view.

For videos, troubleshooting and detailed usage documentation, view the Getting Started  Guide

Links

The core concept of Layers is to enable the user to build layouts using functionality that is native to WordPress. This page template simply provides a single widget area that is designed to work with the Layers Page Builder Widgets specifically, but can accomodate most any widget with a little custom styling.

Learn how the page builder works

Layers bundles 6 basic page templates to allow sidebar specificity per page, and a standard blog feed which uses the Layers Site Settings sidebar selection.

View Page Template detail

Layers is built upon a lightweight HTML5 & CSS front-end framework designed for speed, comprehension and efficient building of Child Themes and Extensions. It uses a 12ths grid and includes styling for buttons, forms, content typography, navigation and images.

View examples of HTML structures and CSS styles applied in Layers, and learn how to apply different patterns to your themes on our Framework guides.

Framework Visual Reference

Layers also includes an extensive set of helper functions, a widget framework and several hooks to aid you in building custom features. View the codex

Browser & Device Support

Layers is built to work best in the latest desktop and mobile browsers, meaning older browsers might display differently styled, and only partially functional, renderings of certain components.

Supported browsers

We support the latest versions of the following browsers and platforms, which you can find at browsehappy.org. Browser support is largely determined based on the browser’s ability to support HTML5, CSS3 and current javascript standards. More specific support information is provided below.

Chrome Firefox Internet Explorer Opera Safari
Android Supported Supported N/A Not Supported N/A
iOS Supported N/A Not Supported Supported
Mac OS X Supported Supported Supported Supported
Windows Supported Supported Supported from 11+ Supported Supported

See CanIUse for a current list of browser versions required for grid layouts to work properly and known issues.

Unofficially, Layers should look and behave well enough in Chromium and Chrome for Linux, Firefox for Linux, and Internet Explorer 10, though they are not officially supported. To see a list of IE bugs WordPress and WordPress themes must contend with, see the .org list of browser bugs.

For general information and troubleshooting of browser issues with WordPress, see this guide on WordPress.com

Responsiveness

Layers includes responsive breakpoints for mobile screens, standard tablet resolutions. These can be extended through child themes. See our Tutorials section for details.

Code Libraries & APIs

Layers uses jQuery, JSON, and other libraries pre-bundled with the WordPress platform which you can reference on the WordPress Codex.

Additionally, Layers includes Swiper which you can learn more about extending and cusomizing through their API documentation as part of your child theme or extension.

3rd Party Support

While we don’t officially support any third-party plugins or extensions, we do offer some useful advice to help avoid potential issues in your projects on the Layers Support Site.

Layers has been tested with several popular and widely used WordPress plugins listed on the Plugin Compatibility page. Additionally, Layers offers a growing catalog of free and premium extensions to provide unique and widely used functionality that takes full advantage of the Layers framework and customization control.

Layers is coded in international English as the primary language and uses WordPress standard gettext to enable quick and easy translation of text elements via plugins or .po file editors. Several professional translations will be available from the Layers Extension library for use on your site or in a child theme project, or you may translate Layers yourself using any of the following solutions:

  • Loco Translate (free plugin)
  • POEdit (desktop tool for creating .po files manually)
  • WPML (premium plugin) + String Translation (WPML Extension for Theme localization)

Layers includes the following languages (as of 1.2.14)

  • ar_SA Arabic/ العربية/السعودية (Saudi Arabia)
  • de_DE German / Deutsch
  • en_US English (United States/Universal) – default
  • fr_FR Fench / Français (France)
  • hi_IN Indonesian / हिन्दी
  • hr_HR Croatian / Hrvatski
  • it_IT Italian /Italiano
  • ja_JP Japanese/ 日本語
  • pt_BR Portuguese / Português (Brasil)
  • pt_PT Portuguese / Português (Portugal)
  • ru_RU Russian / Русский/Россия
  • th_TH Thai/ ไทย/ประเทศไทย
  • tr_TR Turkish/ Türkçe
  • zh_CN Chinese Simplified/ 中文(中华人民共和国) (China)

See Contributing below for how to contribute languages or How to Translate Layers

Layers is released under the GPL 2.0 License, which governs how the code can be distributed. It does not govern copyright at the product level or trademark of the brand.

  • “Layers for WordPress”, LayersWP and the Layers brand are copyrighted and trademarked by Obox Themes.
  • Images and iconfonts are covered by Creative Commons with Attribution.
  • PHP Code within Layers is individually copyrighted by the contributing author, or by Obox Themes, and covered by GPL.
  • Javascript libraries are governed by their own license structures linked from the attribution.

Boiled down to smaller chunks, the GPL license sets forth the following conditions:

It allows you to:

  • Freely download and use Layers, in whole or in part, for personal, company-internal or commercial purposes
  • Build Child Themes or Extensions for use with or based on the Layers framework for personal use or a client project
  • Install Layers on as many websites as you wish

It forbids you to:

  • Redistribute Layers in whole or part without proper attribution.
  • Modify or remove the branding, copyright notice or attribution in whole or part  in a re-distributed package
  • Redistribute Layers with modifications that are malicious or illegal.

It requires you to:

  • Include a copy of the license in any redistribution you may make that includes Layers code
  • Retain all attributions and copyright notices in the original documents

It does not require you to:

  • Include the full source of Layers itself in any redistribution you may assemble that includes it (such as a child theme or extension)
  • Submit changes that you make to Layers back to the Layers project (though you earn extra awesome points for doing so!)

The full Layers license is located in the project repository for more information.

Can I fork Layers and sell it as my own product?

GPL is a license that allows anyone to freely use, enhance or distribute the code without any requirement of paying for license fees. It is completely within GPL to fork Layers or redistribute it, link to it, or create a derivative (modified) version, but you need to be aware of the copyright limitations of what that means.

You can sell GPL software, but to do that, you cannot infringe on the copyrights or trademarks of the Layers authors or other attributed contributors.

  • You can create child themes and extensions for Layers and sell them.
  • You can fork Layers, create a modified derivative (it must be 20% unique), and sell it provided a copy of the GPL license is included and all original copyrights are retained. All of the code you add must be clearly attributed to you to differentiate it from the original. Note that your sold copy must be GPL, meaning anyone can take it and redistribute it for free, or modify and sell it in turn.
  • Your modified version cannot be resold as “Layers” or “LayersWP” using the Layers brand without it violating copyrights (however you can certainly refer to it as a Layers product or link to Layers in attribution)
  • You cannot take Layers and rebrand it or remove the copyright/attribution and sell it as your own product without any change or modification. This is copyright infringement. (The fork must qualify as a derivative work)
  • You cannot represent Layers as your own product.
  • You assume all responsibility, legal and otherwise, for forks or derivative works based on Layers which you sell or redistribute. For this reason ,we ask that Layers Messenger be removed from any modified copy so your users are not contacting us for support.

For more information, see the following:

Can I use Layers on a hosted service and charge for it?

Yes. Layers may be included on a WordPress Multisite implementation where you charge for themes or a service built on Layers. However, it must be under the terms of the GPL license. Therefore, you must make the source code available to the users of the program as described in the GPL, and they must be allowed to redistribute and modify it as described in the GPL.  These requirements are the condition for including the GPL-covered code you received in a program of your own. In the context of hosted services, this means you must provide a link to your users for where they can download Layers free of charge to host it themselves.

There are separate license restrictions that cover premium plugins and child themes. At this time, Themeforest does not allow the resale or redistribution of any 3rd Party Layers products. Layers themes and extensions sold on layerswp.com offer an Extended license for those looking to resell.

Can I sell Layers to a client?

Of course. You are free to use Layers as part of a commercial website or commercial client project. You are even free to direct your clients to our support and documentation, provided the theme was unmodified. If you need to add modifications, we recommend using a Child Theme. If you modify the original, it must comply with the above regarding copyright and representation, and you assume ownership and support of the modified version (otherwise the user may end up updating or reinstalling a new version at our direction that wipes your mods!)

Premium extensions such as Layers Pro are commercial products governed by a slightly different license structure, one that covers access to support and updates, and one that governs the source code.

  • Like Layers, the general source of Layers Pro is covered by the GPL 2 license.
  • Graphics and icons are governed by the Creative Commons
  • CSS Stylesheets, UI and concept design is copyright of Obox Themes
  • Javascript and 3rd party libraries included in Layers Pro may have their own license information in the attribution.

As a framework, Layers is not intended for direct modification. Instead, it allows you to backup pages and widget data to create presets or Style Kits which you can share, sell, or use to seamlessly transfer setups and layouts from one install to another. Layers may also be extended through Child Themes and Plugins (Extensions) via a growing set of hooks, snippets and tips found in our Developer Reference library.

This codex contains a growing reference for custom hooks found in Layers, along with core functions, definitions and child-theming resources.

Commercial Sale of  Child Themes or Extensions for Layers on Envato:

You may sell any product you create for Layers on your own site or a theme marketplace. You may link to our documentation to offer Layers help, but take on all developmental responsibility and support for your product where it is specific to your code, which means you must also provide theme or plugin specific documentation. For your own sanity, we recommend you direct your users to download Layers from our official links to ensure they receive the most recent versions, and read through our developer documentation and best practices.

Envato is the official marketplace for Layers products. We encourage selling through them not only to ensure your product passes build requirements and is thus better for your users, but to help support the Layers development community as a whole. Themeforest and Code Canyon are the leading marketplaces for WordPress themes and plugins, and offer the best overall marketing. By adding your product to these marketplaces, it becomes visible in the Layers Marketplace where users go first to shop.

We welcome any contributions to the core, or theme and extension submissions!

Contributing to Layers

Layers is an open-source project that depends on the community to help it grow and thrive. We encourage and welcome all contributions, from translations to extensions!

To contribute code or submit themes and extensions, be sure to read About Layers and our developer guides.

We look for contributions to the Layers core that fix bugs, provide code or security refinement, help in establishing better support for dependencies (WordPress updates, WooCommerce, JetPack or similar) or greatly enhance existing functionality.

If you want us to consider changes to the front-end templates, CSS or Javascript files, please must open an Issue to discuss the change – we cannot merge pull requests containing front-end modifications.

New functionality or features should be submitted as Layers extensions in the form of a plugin. If you are unsure if your changes are features, fixes or enhancements:

  • New widget = new feature
  • Adding post type support = new feature
  • Adding controls to customizer = new feature
  • Adding a language = enhancement
  • Adding caching support = enhancement
  • Fixing a deprecated tag = fix
  • Updating a method to use correct syntax = fix

Core Feature vs. Extension

If you are interested in submitting features or building a Layers Extension, first take a look at what is already available on CodeCanyon viayour WordPress admin LayersMarketplace on the Extension tab, and review our outstanding request lists on GitHub and the Community Portal.

Why It’s Not In the Core

Many end users of Layers are not developers. They don’t know what jQuery is, nor do they often care about which version of WordPress they are using. The average Layers user simply wants to be able to build a cool-looking website with minimal effort. These are the users that we design for as they are ultimately the ones who need it the most.

The Philosophy of Minimalism

Every time you give a user an option, you are asking them to make a decision. When a user doesn’t care or understand the option this ultimately leads to frustration. As developers we often think providing options for everything makes a product more amazing – you can never have too many toggles and boxes, right? Under the hood, these are technical choices that the average end user has no interest in. It’s our duty as designers to make smart design decisions and avoid putting the weight of technical choices on our end users. This is why the core of Layers will always provide a solid array of basic features and that’s it.

The Philosophy of Extensibility

Layers is designed to provide a foundation for WordPress site building and theming. We are constantly asked “when will X feature be built” or “why isn’t X support integrated into the core”.  The rule of thumb, according to WordPress, is that the core should provide features that 80% or more of end users will actually appreciate and use. If the next version of Layers comes with a feature that the majority of users immediately want to turn off, or don’t notice or understand, then it was a waste of time and resources. If we focus on making the Layers of today as perfect as possible, the developers of tomorrow can fill these niches with plugins and child themes.

This system works because we have a very capable theme and plugin system and capable developer community. Every individual and their website is different, and allowing Layers to be customized in a modular way with plugins and themes gives the user ultimate control over the pricetag of their project, and the end result.

Submitting Changes

  1. Join us on GitHub
  2. Fork layers
  3. Make a commit.
    • Separate your commits by task and ensure they are commented thoroughly
  4. Make a pull request

Your pull request is what notifies us that you have something to add! If the change is appropriate for the core and tests clean, we will merge it.

Support for Layers and free Layers extensions is provided through this site in the form of self-help and documentation. We also offer general help through Layers Messenger, and host a community forum where you can collaborate on development or customization challenges. View our full Support page here.

Most issues are solved through these docs

Last Updated: